Socket
Socket
Sign inDemoInstall

protoblast

Package Overview
Dependencies
Maintainers
1
Versions
102
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

protoblast - npm Package Compare versions

Comparing version 0.8.18 to 0.9.0

.git-blame-ignore-revs

25

CHANGELOG.md

@@ -0,1 +1,26 @@

## 0.9.0 (2024-02-15)
* Make sure `String` methods don't return object versions of the string
* Fix `Pledge.done()` resolving with object versions of primitives
* Make `Blast.require(path)` use `vm` module instead of monkey-patching `require`
* Add `Cache#clear()` method
* Add `Function.postInherit(task)`, which will execute the task after the class has been inherited
* Add `Blast.parseClassPath(path)` method
* Add `WeakValueSet` class
* Add `WeakValueSetMap` class
* Make `Blast.createObjectId()` also available on the server-side
* Add `toISOString` method to `AbstractDateTime` classes
* Add `Blast.didInitialLoad()` method
* Make `Blast.executeAfterLoadingCycle()` keep `did_initial_load` variable alone
* Add `String.parseQuoted(input)` to parse json-like string values
* Add the `Placeholder` and `Trail` class to the Develry namespace
* The `Pledge` class is now a child of `Placeholder` and no longer an `Informer`
* Make `Function.create(name, fnc)` rename the given function instead of creating a new one using `eval`
* Remove `eval` usage from the `methodize` & `unmethode` functions
* Add new operators to the JavaScript tokenizer
* Replace `Object.hasOwnProperty.call` calls with `Object.hasOwn`
* Add support for underscores in numbers to the tokenizer
* Remove some unused string methods
* Removed special Bun require code
## 0.8.18 (2024-01-19)

@@ -2,0 +27,0 @@

87

lib/abstractdatetime.js

@@ -5,13 +5,13 @@ /**

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} year The year (4 digits) or a string that can be parsed by `new Date()`
* @param {Number} month The month (1-12)
* @param {Number} day The day (1-31)
* @param {Number} hours The hours (0-23)
* @param {Number} minutes The minutes (0-59)
* @param {Number} seconds The seconds (0-59)
* @param {Number} milliseconds The milliseconds (0-999)
* @param {number} year The year (4 digits) or a string that can be parsed by `new Date()`
* @param {number} month The month (1-12)
* @param {number} day The day (1-31)
* @param {number} hours The hours (0-23)
* @param {number} minutes The minutes (0-59)
* @param {number} seconds The seconds (0-59)
* @param {number} milliseconds The milliseconds (0-999)
*/

@@ -46,3 +46,3 @@ const AbstractDateTime = Fn.inherits(null, 'Develry', function AbstractDateTime(year, month, day, hours = 0, minutes = 0, seconds = 0, milliseconds = 0) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -78,3 +78,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -93,3 +93,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -111,7 +111,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @return {String}
* @return {string}
*/

@@ -123,5 +123,18 @@ AbstractDateTime.setMethod(function toJSON() {

/**
* Return the ISO string
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @return {string}
*/
AbstractDateTime.setMethod(function toISOString() {
return this.getNativeDate().toISOString();
});
/**
* Clone this
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -140,7 +153,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String} input
* @param {string} input
*

@@ -169,7 +182,7 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String} unit year, quarter, month, week, day, ...
* @param {string} unit year, quarter, month, week, day, ...
*

@@ -190,7 +203,7 @@ * @return {AbstractDateTime}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String} unit year, quarter, month, week, day, ...
* @param {string} unit year, quarter, month, week, day, ...
*

@@ -212,8 +225,8 @@ * @return {AbstractDateTime}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} amount
* @param {String} unit
* @param {number} amount
* @param {string} unit
*

@@ -277,8 +290,8 @@ * @return {AbstractDateTime}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} amount
* @param {String} unit year, month, week, day, ...
* @param {number} amount
* @param {string} unit year, month, week, day, ...
*

@@ -304,7 +317,7 @@ * @return {AbstractDateTime}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -318,7 +331,7 @@ AbstractDateTime.setMethod(function valueOf() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -332,7 +345,7 @@ AbstractDateTime.setMethod(function format(pattern, locale, timezone) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -346,3 +359,3 @@ AbstractDateTime.setMethod(Blast.checksumSymbol, function checksum() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -371,7 +384,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -385,7 +398,7 @@ AbstractDateTime.setMethod(Symbol.for('janeway_arg_left'), function janewayClassIdentifier() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -392,0 +405,0 @@ AbstractDateTime.setMethod(Symbol.for('janeway_arg_right'), function janewayInstanceInfo() {

@@ -5,3 +5,3 @@ /**

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -15,3 +15,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -29,3 +29,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -47,7 +47,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @return {String}
* @return {string}
*/

@@ -65,7 +65,7 @@ AbstractNumeric.setMethod(function toJSON() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -79,7 +79,7 @@ AbstractNumeric.setMethod(Symbol.for('janeway_arg_left'), function janewayClassIdentifier() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -86,0 +86,0 @@ AbstractNumeric.setMethod(Symbol.for('janeway_arg_right'), function janewayInstanceInfo() {

const defStat = Blast.createStaticDefiner('Array'),
defProto = Blast.createProtoDefiner('Array');
defProto = Blast.createProtoDefiner('Array'),
Arr = Bound.Array,
isArray = (input) => Array.isArray(input);

@@ -7,3 +9,3 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.1

@@ -14,3 +16,3 @@ * @version 0.2.1

*
* @return {Boolean}
* @return {boolean}
*/

@@ -20,3 +22,3 @@ defStat(function likeArray(variable) {

// Return the variable unmodified if it's already an array
if (Array.isArray(variable)) {
if (isArray(variable)) {
return true;

@@ -41,3 +43,3 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -52,10 +54,8 @@ * @version 0.7.20

var type;
// Return the variable unmodified if it's already an array
if (Array.isArray(variable)) {
if (isArray(variable)) {
return variable;
}
type = typeof variable;
let type = typeof variable;

@@ -91,9 +91,9 @@ // Convert array-like objects to regular arrays

* @author Tomasz Jaskowski <http://www.jaskowski.info/>
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} start The first value, defaults to 0
* @param {Number} stop The last value, is required
* @param {Number} step The step value, defaults to 1
* @param {number} start The first value, defaults to 0
* @param {number} stop The last value, is required
* @param {number} step The step value, defaults to 1
*

@@ -144,7 +144,7 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.2
*
* @param {Number} nr Return the first nr of values in a new array
* @param {number} nr Return the first nr of values in a new array
*

@@ -173,7 +173,7 @@ * @return {Mixed}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.2
*
* @param {Number} nr Return the first nr of values in a new array
* @param {number} nr Return the first nr of values in a new array
*

@@ -204,7 +204,7 @@ * @return {Mixed}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.3
*
* @param {String} property The property name to use of all the values
* @param {string} property The property name to use of all the values
* @param {Function} map The map function to use

@@ -287,10 +287,10 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.3.0
*
* @param {Number} lowest The lowest allowed value
* @param {Number} highest The highest allowed value
* @param {number} lowest The lowest allowed value
* @param {number} highest The highest allowed value
*
* @return {Number}
* @return {number}
*/

@@ -329,9 +329,9 @@ defProto(function clip(lowest, highest) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} goal The goal we want to get the closest value to
* @param {number} goal The goal we want to get the closest value to
*
* @return {Number}
* @return {number}
*/

@@ -355,9 +355,9 @@ defProto(function closest(goal) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.4.1
*
* @param {String} path
* @param {string} path
*
* @return {Number}
* @return {number}
*/

@@ -367,3 +367,3 @@ defProto(function max(path) {

if (path) {
return Bound.Array.sortByPath(this.slice(0), -1, path)[0];
return Arr.sortByPath(this.slice(0), -1, path)[0];
}

@@ -377,9 +377,9 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.4.1
*
* @param {String} path
* @param {string} path
*
* @return {Number}
* @return {number}
*/

@@ -389,3 +389,3 @@ defProto(function min(path) {

if (path) {
return Bound.Array.sortByPath(this.slice(0), 1, path)[0];
return Arr.sortByPath(this.slice(0), 1, path)[0];
}

@@ -400,7 +400,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} index Where to insert the values
* @param {number} index Where to insert the values
* @param {Mixed} value

@@ -433,7 +433,7 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.11
*
* @param {Number} index Where to insert the contents of the array
* @param {number} index Where to insert the contents of the array
* @param {Array} values The array of values

@@ -462,3 +462,3 @@ *

// Start with all the values of the first array
if (Array.isArray(arguments[i-1])) {
if (isArray(arguments[i-1])) {
allValues = arguments[i-1].slice();

@@ -484,7 +484,7 @@ } else {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
* @version 0.9.0
*
* @param {Number} limit Recursive limit
* @param {number} limit Recursive limit
*

@@ -507,3 +507,3 @@ * @return {Array}

if (Array.isArray(this[i]) && limit && limit > 0) {
if (isArray(this[i]) && limit && limit > 0) {

@@ -514,3 +514,3 @@ // Clone the array

// Add the array
Collection.Array.prototype.include.call(result, result.length, flatten.call(temp, limit-1));
result.push(...flatten.call(temp, limit-1));
} else {

@@ -528,7 +528,7 @@ result.push(this[i]);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.6.4
*
* @param {String} path Path to use to check for uniqueness
* @param {string} path Path to use to check for uniqueness
* @param {Function} cast Function used to cast values

@@ -577,3 +577,3 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -590,3 +590,3 @@ * @version 0.1.4

// Make sure the given value to match against is an array
arr = Collection.Array.cast(arr);
arr = Arr.cast(arr);

@@ -621,3 +621,3 @@ // Go over every item in the array, and return the ones they have in common

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -634,3 +634,3 @@ * @version 0.0.1

// Make sure the given value to match against is an array
if (!Array.isArray(arr)) {
if (!isArray(arr)) {
arr = [arr];

@@ -668,5 +668,5 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.10
* @version 0.9.0
*

@@ -681,6 +681,6 @@ * @param {Array} arr The array to test against

// Get all the shared values
var shared = Collection.Array.prototype.shared.call(this, arr);
let shared = Arr.shared(this, arr);
// Return the merged differences between the 2
return Collection.Array.prototype.subtract.call(this, shared).concat(Collection.Array.prototype.subtract.call(arr, shared));
return Arr.subtract(this, shared).concat(Arr.subtract(arr, shared));
});

@@ -691,3 +691,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -739,6 +739,6 @@ * @version 0.1.0

return Bound.Array.cast(result);
return Arr.cast(result);
}
} else {
get_dependencies = (obj) => obj[dependency_path] ? Bound.Array.cast(obj[dependency_path]) : null;
get_dependencies = (obj) => obj[dependency_path] ? Arr.cast(obj[dependency_path]) : null;
}

@@ -847,9 +847,9 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.5
* @version 0.6.3
*
* @param {Symbol} _flag Use certain sort flag?
* @param {Number} _order Sort order: 1 for ascending, -1 for descending
* @param {String} _paths One path, an array of paths, of multiple arguments
* @param {symbol} _flag Use certain sort flag?
* @param {number} _order Sort order: 1 for ascending, -1 for descending
* @param {string} _paths One path, an array of paths, of multiple arguments
*

@@ -874,3 +874,3 @@ * @return {Array}

for (; i < arguments.length; i++) {
if (Array.isArray(arguments[i])) {
if (isArray(arguments[i])) {
paths = paths.concat(arguments[i]);

@@ -905,7 +905,7 @@ } else {

if (Array.isArray(alpha)) {
if (isArray(alpha)) {
alpha = alpha[alpha.length - 1];
}
if (Array.isArray(beta)) {
if (isArray(beta)) {
beta = beta[beta.length - 1];

@@ -943,7 +943,7 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.8
* @version 0.7.18
*
* @param {String} path
* @param {string} path
* @param {Mixed} value

@@ -954,3 +954,3 @@ *

defProto(function findByPath(path, value) {
return Bound.Array.findAllByPath(this, path, value)[0];
return Arr.findAllByPath(this, path, value)[0];
});

@@ -961,7 +961,7 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.18
* @version 0.7.18
*
* @param {String} path
* @param {string} path
* @param {Mixed} value

@@ -1004,3 +1004,3 @@ *

if (results) {
results = Bound.Array.shared(results, entries);
results = Arr.shared(results, entries);
} else {

@@ -1035,8 +1035,8 @@ results = entries;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.1
* @version 0.4.1
*
* @param {Number} path The path to modify
* @param {String} fnc The modifier function
* @param {number} path The path to modify
* @param {string} fnc The modifier function
*

@@ -1083,3 +1083,3 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7

@@ -1123,3 +1123,3 @@ * @version 0.3.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.5

@@ -1146,7 +1146,7 @@ * @version 0.5.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @param {Number} index
* @param {number} index
*

@@ -1153,0 +1153,0 @@ * @return {*}

@@ -11,3 +11,3 @@ const FUNCTION = Symbol('Function'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -27,3 +27,3 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -44,3 +44,3 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -56,3 +56,3 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -87,3 +87,3 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -104,3 +104,3 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -118,3 +118,3 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -146,7 +146,7 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5
* @version 0.8.5
*
* @return {String}
* @return {string}
*/

@@ -179,7 +179,7 @@ Backed.setMethod(function _getTempType() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5
* @version 0.8.5
*
* @return {String[]}
* @return {string[]}
*/

@@ -224,7 +224,7 @@ Backed.setMethod(function keys() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5
* @version 0.8.5
*
* @param {String} name
* @param {string} name
*

@@ -260,3 +260,3 @@ * @return {Mixed}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.6

@@ -298,7 +298,7 @@ * @version 0.8.6

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5
* @version 0.8.5
*
* @param {String} name
* @param {string} name
* @param {*} value

@@ -305,0 +305,0 @@ *

@@ -75,3 +75,3 @@ var performanceNow,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -96,7 +96,7 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.5.4
*
* @param {Number} runs
* @param {number} runs
*/

@@ -136,3 +136,3 @@ function getFunctionOverhead(runs) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -142,4 +142,4 @@ * @version 0.5.9

* @param {Function} fn
* @param {Number} runs Expected runs per 50ms
* @param {Number} iterOverhead Expected overhead per runs-amount
* @param {number} runs Expected runs per 50ms
* @param {number} iterOverhead Expected overhead per runs-amount
*

@@ -220,3 +220,3 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -226,4 +226,4 @@ * @version 0.5.9

* @param {Function} fn
* @param {Number} testruns Expected runs per 200ms
* @param {Number} asyncOverhead Expected overhead per runs-amount
* @param {number} testruns Expected runs per 200ms
* @param {number} asyncOverhead Expected overhead per runs-amount
* @param {Function} callback Callback to pass the result object to

@@ -248,3 +248,3 @@ */

Collection.Function.doWhile(function measureBatch(next) {
Fn.doWhile(function measureBatch(next) {

@@ -254,3 +254,3 @@ // Calculate how many times to do the test

Collection.Function.doAmount(shard, fn, function done(err, runs, elapsed) {
Fn.doAmount(shard, fn, function done(err, runs, elapsed) {
elapsed = elapsed - (shard * (asyncOverhead/testruns));

@@ -299,3 +299,3 @@ samples.push(~~((shard/elapsed)*1000));

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -357,3 +357,3 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -388,3 +388,3 @@ * @version 0.6.0

// See how many times we can get it to run for 300ms
Collection.Function.doTime(300, fn, function(err, runs, elapsed) {
Fn.doTime(300, fn, function(err, runs, elapsed) {

@@ -436,3 +436,3 @@ // See how the baseline latency is like

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -501,3 +501,3 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -571,3 +571,3 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -595,2 +595,2 @@ * @version 0.1.2

Blast.benchmark = Collection.Function.benchmark;
Blast.benchmark = Fn.benchmark;

@@ -6,3 +6,3 @@ const defStat = Blast.createStaticDefiner(Blast);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.3

@@ -42,2 +42,62 @@ * @version 0.8.3

return root.children;
});
let machine_id,
process_id,
counter = ~~(Math.random() * 10000);
/**
* Create an ObjectID string
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0
* @version 0.9.0
*
* @return {string}
*/
defStat(function createObjectId() {
// Start with 4 bytes for the time in seconds
let time = parseInt(Date.now()/1000).toString(16).slice(0, 8);
let result = time;
if (machine_id == null) {
if (Blast.isBrowser) {
machine_id = Math.abs(Bound.String.fowler(navigator.userAgent)).toString(16);
process_id = Blast.Classes.Crypto.pseudoHex().padStart(4, '0');
} else if (Blast.isServer) {
let libcrypto = require('crypto');
const hostname = require('os').hostname() || 'protoblast';
machine_id = libcrypto.createHash('md5').update(hostname).digest('hex').padStart(6, '0');
process_id = process.pid.toString(16).padStart(4, '0');
}
if (machine_id.length < 6) {
machine_id += result;
}
// Get the first 6 pieces
machine_id = machine_id.slice(0, 6);
if (process_id.length > 4) {
process_id = process_id.slice(0, 4);
}
}
result += machine_id;
result += process_id;
// Create the counter
let count = (counter++).toString(16);
if (count.length < 6) {
count = count.padStart(6, '0');
} else {
count = count.slice(-6);
}
result += count;
return result;
});

@@ -10,3 +10,3 @@ let PARENT = Symbol('parent'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -62,3 +62,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -76,3 +76,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -107,3 +107,3 @@ * @version 0.7.8

*
* @type {Boolean}
* @type {boolean}
*/

@@ -148,7 +148,7 @@ Branch.setProperty(function hasChildren() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8
* @version 0.7.8
*
* @param {Number} direction
* @param {number} direction
*

@@ -171,3 +171,3 @@ * @return {Branch}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -194,3 +194,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -209,3 +209,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -224,7 +224,7 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8
* @version 0.7.8
*
* @param {Number} direction
* @param {number} direction
* @param {Branch} new_branch

@@ -277,3 +277,3 @@ * @param {Branch} reference_branch

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -291,3 +291,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -305,7 +305,7 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8
* @version 0.7.8
*
* @param {Number} direction
* @param {number} direction
* @param {Branch} new_branch

@@ -333,3 +333,3 @@ */

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -348,3 +348,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -384,3 +384,3 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -391,3 +391,3 @@ * @version 0.7.8

*
* @return {Boolean}
* @return {boolean}
*/

@@ -408,3 +408,3 @@ Data.setMethod(function isChildOf(data) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8

@@ -438,7 +438,7 @@ * @version 0.7.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.8
* @version 0.7.8
*
* @param {Number} direction
* @param {number} direction
* @param {*} data

@@ -445,0 +445,0 @@ *

@@ -1,5 +0,1 @@

var machine_id,
process_id,
counter = ~~(Math.random() * 10000);
var stringifyPrimitive = function(v) {

@@ -19,3 +15,3 @@ if (typeof v === 'string')

function hasOwnProperty(obj, prop) {
return Object.prototype.hasOwnProperty.call(obj, prop);
return Object.hasOwn(obj, prop);
}

@@ -26,10 +22,10 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {String} selector
* @param {string} selector
*/
Blast.defineStatic('Function', 'benchmarkCSSRule', function benchmarkCSSRule(selector) {
return Bound.Function.benchmark(function querySelectorAllTest() {
return Fn.benchmark(function querySelectorAllTest() {
document.querySelectorAll(selector);

@@ -43,7 +39,7 @@ });

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.3
*
* @param {String} url
* @param {string} url
*

@@ -77,7 +73,7 @@ * @return {URL}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.0
*
* @param {String} html
* @param {string} html
*

@@ -98,53 +94,2 @@ * @return {HTMLCollection|HTMLElement}

}
};
/**
* Create an ObjectID string
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.2.0
* @version 0.2.0
*
* @return {String}
*/
Blast.createObjectId = function createObjectId() {
var result,
count,
time;
// Start with 4 bytes for the time in seconds
time = parseInt(Date.now()/1000).toString(16).slice(0, 8);
result = time;
// Add the machine identifier
if (!machine_id) {
machine_id = Math.abs(Bound.String.fowler(navigator.userAgent)).toString(16);
if (machine_id.length < 6) {
machine_id += result;
}
// Get the first 6 pieces
machine_id = machine_id.slice(0, 6);
}
result += machine_id;
if (!process_id) {
process_id = Blast.Classes.Crypto.pseudoHex().slice(0, 4);
}
result += process_id;
// Create the counter
count = (counter++).toString(16);
if (count.length < 6) {
count = Bound.String.multiply('0', 6 - count.length) + count;
}
result += count;
return result;
};

@@ -20,3 +20,3 @@ var empty = Symbol('empty'),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -33,3 +33,3 @@ * @version 0.6.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -57,3 +57,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -87,3 +87,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -99,3 +99,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -112,3 +112,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -128,7 +128,7 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @type {Number}
* @type {number}
*/

@@ -163,7 +163,7 @@ Cache.setProperty(function max_age() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @type {Number}
* @type {number}
*/

@@ -188,7 +188,7 @@ Cache.setProperty(function max_idle() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @type {Number}
* @type {number}
*/

@@ -206,3 +206,3 @@ Cache.setProperty(function max_size() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -244,3 +244,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -267,3 +267,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -284,5 +284,16 @@ * @version 0.6.0

/**
* Clear the cache
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*/
Cache.setMethod(function clear() {
return this.reset();
});
/**
* Is the given key available in this cache?
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -293,3 +304,3 @@ * @version 0.6.4

*
* @return {Boolean}
* @return {boolean}
*/

@@ -303,3 +314,3 @@ Cache.setMethod(function has(key) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -310,3 +321,3 @@ * @version 0.7.18

* @param {Mixed} value
* @param {Number} max_age
* @param {number} max_age
*

@@ -437,3 +448,3 @@ * @return {Cache}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -479,3 +490,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -507,3 +518,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -529,3 +540,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -549,3 +560,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -616,3 +627,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -648,3 +659,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -670,3 +681,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -699,3 +710,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -722,3 +733,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -730,3 +741,3 @@ * @version 0.6.0

*
* @return {Number}
* @return {number}
*/

@@ -733,0 +744,0 @@ Cache.setMethod(function calculateSizeOfValue(value, key) {

(function() {
"use strict";

@@ -9,5 +10,5 @@ //_DESTRINGIFYCODE_//

function require(p){
function require(p, arg_config) {
var path = require.resolve(p),
let path = require.resolve(p),
mod = require.modules[path];

@@ -21,3 +22,6 @@

mod.exports = {};
mod.call(mod.exports, mod, mod.exports, require.relative(path));
let extra_values = arg_config?.values || [];
mod.call(mod.exports, mod, mod.exports, require.relative(path), ...extra_values);
}

@@ -31,3 +35,3 @@

require.resolve = function resolve(path) {
var orig = path,
let orig = path,
reg = path + '.js',

@@ -46,9 +50,9 @@ index = path + '/index.js';

require.relative = function relative(parent) {
return function gotRelative(p) {
return function gotRelative(p, arg_config) {
if ('.' != p.substr(0, 1)) {
return require(p);
return require(p, arg_config);
}
var path = parent.split('/'),
let path = parent.split('/'),
segs = p.split('/');

@@ -64,3 +68,3 @@

return require(path.join('/'));
return require(path.join('/'), arg_config);
};

@@ -67,0 +71,0 @@ };

@@ -10,3 +10,3 @@ /* istanbul ignore file */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2

@@ -119,8 +119,8 @@ * @version 0.7.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2
* @version 0.7.2
*
* @param {String} source
* @param {String} path
* @param {string} source
* @param {string} path
* @param {Object} sourcemap

@@ -168,3 +168,3 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2

@@ -242,3 +242,3 @@ * @version 0.7.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2

@@ -251,3 +251,3 @@ * @version 0.7.2

*
* @return {Number}
* @return {number}
*/

@@ -286,3 +286,3 @@ function hasRangeBeenCovered(ranges, start, end) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2

@@ -292,3 +292,3 @@ * @version 0.7.2

* @param {Array} ranges
* @param {String} source
* @param {string} source
* @param {SourceMap} map

@@ -341,3 +341,3 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2

@@ -347,3 +347,3 @@ * @version 0.7.2

* @param {Array} ranges
* @param {String} source
* @param {string} source
* @param {SourceMap} map

@@ -350,0 +350,0 @@ *

@@ -9,3 +9,3 @@ var public_nanoid_generator,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -23,7 +23,7 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.4
*
* @return {String}
* @return {string}
*/

@@ -37,9 +37,9 @@ Crypto.setStatic(function uid() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4
* @version 0.7.4
*
* @param {Number} size
* @param {number} size
*
* @return {String}
* @return {string}
*/

@@ -53,3 +53,3 @@ Crypto.setStatic(function nanoid(size) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4

@@ -73,9 +73,9 @@ * @version 0.7.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {Number} bytesize
* @param {number} bytesize
*
* @return {String}
* @return {string}
*/

@@ -89,8 +89,8 @@ Crypto.setStatic(function pseudoHex() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4
* @version 0.7.4
*
* @param {String} alphabet
* @param {Number} default_size
* @param {string} alphabet
* @param {number} default_size
* @param {Object} random

@@ -144,7 +144,7 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {Number} amount
* @param {number} amount
*/

@@ -174,3 +174,3 @@ Crypto.setMethod(function populate(amount) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -211,7 +211,7 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4
* @version 0.7.4
*
* @param {Number} bytesize
* @param {number} bytesize
* @param {Function} callback

@@ -228,10 +228,10 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4
* @version 0.7.4
*
* @param {Number} bytesize
* @param {number} bytesize
* @param {Function} callback Optional callback
*
* @return {String}
* @return {string}
*/

@@ -245,9 +245,9 @@ Crypto.setMethod(function randomHex(bytesize, callback) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4
* @version 0.7.4
*
* @param {Number} length
* @param {number} length
*
* @return {String}
* @return {string}
*/

@@ -271,7 +271,7 @@ Crypto.setMethod(function nanoid(length) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {Number} bytesize
* @param {number} bytesize
* @param {Function} callback

@@ -288,10 +288,10 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.11
*
* @param {Number} bytesize
* @param {number} bytesize
* @param {Function} callback Optional callback
*
* @return {String}
* @return {string}
*/

@@ -324,3 +324,3 @@ Crypto.setStatic(function randomHex(bytesize, callback) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.1

@@ -347,7 +347,7 @@ * @version 0.4.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.4.1
*
* @param {Number} bytesize
* @param {number} bytesize
* @param {Function} callback

@@ -378,10 +378,10 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.1
*
* @param {Number} bytesize
* @param {number} bytesize
* @param {Function} callback Optional callback
*
* @return {String}
* @return {string}
*/

@@ -388,0 +388,0 @@ Crypto.setStatic(function randomHex(bytesize, callback) {

@@ -79,11 +79,11 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.17
*
* @param {String} pattern
* @param {String} locale
* @param {String} timezone
* @param {string} pattern
* @param {string} locale
* @param {string} timezone
*
* @return {String}
* @return {string}
*/

@@ -151,7 +151,7 @@ Blast.definePrototype('Date', function format(pattern, locale, timezone) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -175,7 +175,7 @@ Blast.definePrototype('Date', function getLocale(locale) {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
* @return {string}
*/

@@ -190,7 +190,7 @@ methods.d = function getPaddedDay() {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -220,7 +220,7 @@ methods.D = function getDayName(locale) {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
* @return {string}
*/

@@ -235,7 +235,7 @@ methods.j = function getDay() {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -265,7 +265,7 @@ methods.l = function getDayName(locale) {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
* @return {string}
*/

@@ -279,7 +279,7 @@ methods.N = function getISOWeekdayNumber() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
* @return {string}
*/

@@ -302,7 +302,7 @@ methods.S = function() {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
* @return {string}
*/

@@ -317,7 +317,7 @@ methods.w = function getWeekdayNumber() {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
* @return {string}
*/

@@ -346,7 +346,7 @@ methods.z = function getDayOfYear() {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -375,7 +375,7 @@ methods.M = function getShortMonthName(locale) {

* @author Jacob Wright
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -382,0 +382,0 @@ methods.F = function getLongMonthName(locale) {

@@ -70,3 +70,3 @@ const defStat = Blast.createStaticDefiner('Date'),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -86,3 +86,3 @@ * @version 0.1.11

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -98,10 +98,10 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.7.0
*
* @param {String} unit
* @param {string} unit
* @param {Date} context
*
* @return {Number}
* @return {number}
*/

@@ -130,9 +130,9 @@ defStat(function getUnitMs(unit, context) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.13
* @version 0.8.13
*
* @param {String} input
* @param {string} input
*
* @return {String}
* @return {string}
*/

@@ -195,12 +195,12 @@ defStat(function getUnitName(input) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8
* @version 0.1.11
*
* @param {String} unit year, quarter, month, week, day, ...
* @param {string} unit year, quarter, month, week, day, ...
* @param {Date} start
* @param {Date} end
* @param {Boolean} startOfUnit Use the start-of-unit of the dates
* @param {boolean} startOfUnit Use the start-of-unit of the dates
*
* @return {Number}
* @return {number}
*/

@@ -260,8 +260,8 @@ defStat(function difference(unit, start, end, startOfUnit) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} str The input string
* @param {String} base The time basis [0]
* @param {string} str The input string
* @param {string} base The time basis [0]
*

@@ -277,10 +277,10 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.8.2
*
* @param {String} str The input string
* @param {String} base The time basis [0]
* @param {string} str The input string
* @param {string} base The time basis [0]
*
* @return {Number}
* @return {number}
*/

@@ -395,10 +395,10 @@ defStat(function parseStringToTime(str, base) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} str
* @param {String} base
* @param {string} str
* @param {string} base
*
* @return {Number}
* @return {number}
*/

@@ -412,7 +412,7 @@ defStat(function parseDuration(str, base) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} year
* @param {number} year
*

@@ -445,8 +445,8 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} year
* @param {Number} week
* @param {number} year
* @param {number} week
*

@@ -477,7 +477,7 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @return {String}
* @return {string}
*/

@@ -491,7 +491,7 @@ defProto(function timestamp() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @return {Number}
* @return {number}
*/

@@ -505,3 +505,3 @@ defProto(Blast.sizeofSymbol, function calculateSizeof() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -519,3 +519,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -534,3 +534,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -548,3 +548,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -581,8 +581,8 @@ * @version 0.2.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.5.7
*
* @param {Number} amount
* @param {String} unit year, month, week, day, ...
* @param {number} amount
* @param {string} unit year, month, week, day, ...
*

@@ -654,8 +654,8 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.5.7
*
* @param {Number} amount
* @param {String} unit year, month, week, day, ...
* @param {number} amount
* @param {string} unit year, month, week, day, ...
*

@@ -690,7 +690,7 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} unit year, month, week, day, ...
* @param {string} unit year, month, week, day, ...
*

@@ -706,7 +706,7 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} unit year, month, week, day, ...
* @param {string} unit year, month, week, day, ...
*

@@ -722,3 +722,3 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -728,4 +728,4 @@ * @version 0.5.7

* @param {Date} date
* @param {String} modifier -1 for last, +1 for next
* @param {String} day
* @param {string} modifier -1 for last, +1 for next
* @param {string} day
* @param {Date} base_date

@@ -787,3 +787,3 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -793,4 +793,4 @@ * @version 0.5.7

* @param {Date} date
* @param {String} modifier -1 for last, +1 for next
* @param {String} day
* @param {string} modifier -1 for last, +1 for next
* @param {string} day
* @param {Date} base_date

@@ -841,7 +841,7 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.6.3
*
* @param {String} unit year, quarter, month, week, day, ...
* @param {string} unit year, quarter, month, week, day, ...
*

@@ -917,7 +917,7 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {String} unit year, quarter, month, week, day, ...
* @param {string} unit year, quarter, month, week, day, ...
*

@@ -943,7 +943,7 @@ * @return {Date}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -958,11 +958,11 @@ defProto(function isLeapYear() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.2.0
*
* @param {String} unit year, quarter, month, week, day, ...
* @param {string} unit year, quarter, month, week, day, ...
* @param {Date} start
* @param {Date} end
*
* @return {Boolean}
* @return {boolean}
*/

@@ -994,7 +994,7 @@ defProto(function between(unit, start, end) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @return {String}
* @return {string}
*/

@@ -1022,7 +1022,7 @@ defProto('time_ago_settings', {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @return {String}
* @return {string}
*/

@@ -1052,10 +1052,10 @@ defProto('time_duration_settings', {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} ms
* @param {number} ms
* @param {Object} settings
*
* @return {String}
* @return {string}
*/

@@ -1075,10 +1075,10 @@ defStat(function timeDuration(ms, settings) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.8.13
*
* @param {Number} seconds
* @param {number} seconds
* @param {Object} settings
*
* @return {String}
* @return {string}
*/

@@ -1227,3 +1227,3 @@ defStat(function secondsToDuration(seconds, settings) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -1234,3 +1234,3 @@ * @version 0.7.0

*
* @return {String}
* @return {string}
*/

@@ -1237,0 +1237,0 @@ defProto(function timeAgo(settings) {

@@ -52,7 +52,7 @@ const INTEGRAL = Symbol('integral'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String|Number} value
* @param {string|number} value
*/

@@ -111,7 +111,7 @@ const Decimal = Fn.inherits('Develry.AbstractNumeric', function Decimal(value) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String|Number} value
* @param {string|number} value
*/

@@ -130,8 +130,8 @@ const MutableDecimal = createMutableClass(Decimal, function MutableDecimal(value) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String|Number} value
* @param {Number} scale
* @param {string|number} value
* @param {number} scale
*/

@@ -164,3 +164,3 @@ const FixedDecimal = Fn.inherits(Decimal, function FixedDecimal(value, scale) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -178,7 +178,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @type {Number}
* @type {number}
*/

@@ -192,8 +192,8 @@ FixedDecimal.setProperty(PRINT_SCALE, function printScale() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {String|Number} value
* @param {Number} scale
* @param {string|number} value
* @param {number} scale
*/

@@ -225,7 +225,7 @@ const MutableFixedDecimal = createMutableClass(FixedDecimal, function MutableFixedDecimal(value, scale) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -250,3 +250,3 @@ function scientificToDecimal(input) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -256,3 +256,3 @@ * @version 0.8.14

* @param {Decimal} self
* @param {Number} value
* @param {number} value
*

@@ -277,3 +277,3 @@ * @return {Decimal}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -299,3 +299,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -318,7 +318,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @type {Number}
* @type {number}
*/

@@ -330,7 +330,7 @@ Decimal.setProperty(MAX_ARITHMETIC_SCALE, 20);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @type {Number}
* @type {number}
*/

@@ -342,7 +342,7 @@ Decimal.setProperty(ROUNDING, ROUND_HALF_UP);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @type {Number}
* @type {number}
*/

@@ -354,7 +354,7 @@ Decimal.setProperty(MAX_ITERATIONS, 50);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @type {Number}
* @type {number}
*/

@@ -368,3 +368,3 @@ Decimal.setProperty(PRINT_SCALE, function printScale() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -387,3 +387,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -399,3 +399,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -411,3 +411,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -423,7 +423,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Boolean}
* @return {boolean}
*/

@@ -437,7 +437,7 @@ Decimal.setMethod(function isInteger() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Boolean}
* @return {boolean}
*/

@@ -451,7 +451,7 @@ Decimal.setMethod(function isPositive() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Boolean}
* @return {boolean}
*/

@@ -465,7 +465,7 @@ Decimal.setMethod(function isZero() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} scale
* @param {number} scale
*

@@ -501,3 +501,3 @@ * @return {Decimal}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -528,3 +528,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -553,3 +553,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -578,3 +578,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -603,3 +603,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -628,3 +628,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -663,3 +663,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -676,3 +676,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -693,3 +693,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -713,3 +713,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -727,3 +727,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -752,3 +752,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -805,3 +805,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -811,6 +811,6 @@ * @version 0.8.14

* @param {BigInt} unified_result The big scaled BigInt result
* @param {Number} arithmetic_scale The fractional length used to scale
* @param {Number} normalize_scale The fractional length to round to
* @param {Number} target_scale The fractional length to use for the result
* @param {Number} max_scale The maximum fractional length to use
* @param {number} arithmetic_scale The fractional length used to scale
* @param {number} normalize_scale The fractional length to round to
* @param {number} target_scale The fractional length to use for the result
* @param {number} max_scale The maximum fractional length to use
*

@@ -829,3 +829,3 @@ * @return {Decimal}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -846,3 +846,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -864,3 +864,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -870,6 +870,6 @@ * @version 0.8.14

* @param {BigInt} unified_result The big scaled BigInt result
* @param {Number} arithmetic_scale The fractional length used to scale
* @param {Number} normalize_scale The fractional length to round to
* @param {Number} target_scale The fractional length to use for the result
* @param {Number} max_scale The maximum fractional length to use
* @param {number} arithmetic_scale The fractional length used to scale
* @param {number} normalize_scale The fractional length to round to
* @param {number} target_scale The fractional length to use for the result
* @param {number} max_scale The maximum fractional length to use
*

@@ -948,3 +948,3 @@ * @return {Decimal}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1052,3 +1052,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1058,5 +1058,5 @@ * @version 0.8.14

* @param {BigInt} fraction The fractional part
* @param {Number} arithmetic_scale The fractional length used to scale
* @param {number} arithmetic_scale The fractional length used to scale
*
* @return {Number}
* @return {number}
*/

@@ -1090,3 +1090,3 @@ Decimal.setMethod(function calculateTargetScale(fraction, arithmetic_scale) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1106,3 +1106,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1122,3 +1122,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1153,3 +1153,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1173,3 +1173,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1208,3 +1208,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1276,3 +1276,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1316,3 +1316,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1342,3 +1342,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1392,3 +1392,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1477,3 +1477,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1525,3 +1525,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1544,3 +1544,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1665,3 +1665,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1709,3 +1709,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1738,7 +1738,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -1745,0 +1745,0 @@ Decimal.setMethod(function toString() {

@@ -6,3 +6,3 @@ const SIZE = Symbol('size');

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -21,7 +21,7 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @type {Number}
* @type {number}
*/

@@ -33,7 +33,7 @@ Deck.setProperty('insertCount', 0);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.12
* @version 0.8.12
*
* @type {Number}
* @type {number}
*/

@@ -65,7 +65,7 @@ Deck.setProperty(function size() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @type {Boolean}
* @type {boolean}
*/

@@ -77,7 +77,7 @@ Deck.setProperty('sorted', false);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @type {Boolean}
* @type {boolean}
*/

@@ -89,7 +89,7 @@ Deck.setProperty('sortedItems', false);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @type {Boolean}
* @type {boolean}
*/

@@ -101,3 +101,3 @@ Deck.setProperty('_iterSubjectIsArray', false);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -115,3 +115,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -143,3 +143,3 @@ * @version 0.1.11

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -189,7 +189,7 @@ * @version 0.1.11

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @return {Number}
* @return {number}
*/

@@ -216,11 +216,11 @@ Deck.setMethod('sorter', function sorter(a, b) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.8.12
*
* @param {String} key
* @param {string} key
* @param {Mixed} value
* @param {Number} weight The weight of this value, default 100
* @param {number} weight The weight of this value, default 100
*
* @return {Number} The numeric id of the value
* @return {number} The numeric id of the value
*/

@@ -268,3 +268,3 @@ Deck.setMethod(function set(key, value, weight) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -274,5 +274,5 @@ * @version 0.1.4

* @param {Mixed} value
* @param {Number} weight The weight of this value, default 100
* @param {number} weight The weight of this value, default 100
*
* @return {Number} The numeric id of the value
* @return {number} The numeric id of the value
*/

@@ -290,9 +290,9 @@ Deck.setMethod(function push(value, weight) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {String} key
* @param {string} key
*
* @return {Boolean}
* @return {boolean}
*/

@@ -306,7 +306,7 @@ Deck.setMethod(function has(key) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @param {String} key The key to get
* @param {string} key The key to get
* @param {Mixed} def Optional default value

@@ -336,9 +336,9 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.4
* @version 0.8.12
*
* @param {String} key
* @param {string} key
*
* @return {Boolean} If the item was removed
* @return {boolean} If the item was removed
*/

@@ -372,3 +372,3 @@ Deck.setMethod(function remove(key) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.27

@@ -391,7 +391,7 @@ * @version 0.8.12

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @param {Number} id
* @param {number} id
*

@@ -409,3 +409,3 @@ * @return {Mixed}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.11

@@ -415,3 +415,3 @@ * @version 0.6.4

* @param {Mixed} key_value
* @param {Boolean} recursive Look through other decks? [true]
* @param {boolean} recursive Look through other decks? [true]
*

@@ -458,3 +458,3 @@ * @return {Mixed}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -485,7 +485,7 @@ * @version 0.2.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @param {Boolean} slice Slice the array before returning (true)
* @param {boolean} slice Slice the array before returning (true)
*

@@ -519,7 +519,7 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @param {Boolean} slice Slice the array before returning (true)
* @param {boolean} slice Slice the array before returning (true)
*

@@ -548,3 +548,3 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -569,3 +569,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -595,3 +595,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -620,3 +620,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -637,3 +637,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -654,3 +654,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -668,3 +668,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -686,3 +686,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -714,3 +714,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -743,3 +743,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -746,0 +746,0 @@ * @version 0.7.1

@@ -124,3 +124,3 @@ var diacriticsMap = {},

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -136,3 +136,3 @@ * @version 0.1.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -163,3 +163,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -195,3 +195,3 @@ * @version 0.6.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -244,7 +244,7 @@ * @version 0.6.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -258,7 +258,7 @@ Blast.definePrototype('String', function containsHebrew() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -272,10 +272,10 @@ Blast.definePrototype('String', function containsJapanese() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.0.1
*
* @param {Boolean} insensitive Create a case insensitive regex
* @param {Boolean} any Look for any word
* @param {boolean} insensitive Create a case insensitive regex
* @param {boolean} any Look for any word
*
* @return {String} Pattern that can be used to construct a regex
* @return {string} Pattern that can be used to construct a regex
*/

@@ -338,8 +338,8 @@ Blast.definePrototype('String', function diacriticPattern(insensitive, any) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.0.1
*
* @param {Boolean} insensitive Create a case insensitive regex
* @param {Boolean} any Look for any word
* @param {boolean} insensitive Create a case insensitive regex
* @param {boolean} any Look for any word
*

@@ -346,0 +346,0 @@ * @return {RegExp}

@@ -6,9 +6,9 @@ const ERROR = Symbol('error');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {String} str
* @param {string} str
*/
var CustomError = Collection.Function.inherits(Error, 'Develry', function Error(message) {
var CustomError = Fn.inherits(Error, 'Develry', function Error(message) {
this[ERROR] = createDummyError(1 + this.constructor.inheritance_level);

@@ -21,8 +21,8 @@ this.message = message;

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {Number} level
* @param {String} message
* @param {number} level
* @param {string} message
*

@@ -49,10 +49,10 @@ * @return {Error}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {Number} level
* @param {number} level
* @param {Error} error
*
* @return {String}
* @return {string}
*/

@@ -97,7 +97,7 @@ CustomError.setStatic(function createStackTrace(level, error) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {Number} level
* @param {number} level
*/

@@ -120,7 +120,7 @@ CustomError.setStaticProperty(function inheritance_level() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @type {String}
* @type {string}
*/

@@ -155,7 +155,7 @@ CustomError.enforceProperty(function stack(new_value) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @type {String}
* @type {string}
*/

@@ -169,3 +169,3 @@ CustomError.setProperty(function name() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -183,7 +183,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {Number} amount
* @param {number} amount
*/

@@ -197,3 +197,3 @@ CustomError.setMethod(function skipTraceLines(amount) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -213,3 +213,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -255,3 +255,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.13

@@ -258,0 +258,0 @@ * @version 0.7.25

@@ -7,3 +7,3 @@ var libpath = require('path'),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -23,3 +23,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -38,3 +38,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -51,3 +51,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -63,7 +63,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.8.4
*
* @param {String} field
* @param {string} field
* @param {Mixed} value

@@ -106,3 +106,3 @@ * @param {Object} options

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -134,3 +134,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -161,3 +161,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -203,3 +203,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -234,3 +234,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -255,3 +255,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -294,3 +294,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -343,7 +343,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {String} field
* @param {string} field
* @param {Mixed} value

@@ -405,7 +405,7 @@ * @param {Object} options

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @param {String} header
* @param {string} header
* @param {Mixed} value

@@ -452,3 +452,3 @@ * @param {Object} options

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -478,3 +478,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@elevenway.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -486,3 +486,3 @@ * @version 0.8.4

*
* @return {String}
* @return {string}
*/

@@ -521,3 +521,3 @@ FormData.setMethod(function _getContentDisposition(value, options) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -529,3 +529,3 @@ * @version 0.8.4

*
* @return {String}
* @return {string}
*/

@@ -532,0 +532,0 @@ FormData.setMethod(function _getContentType(value, options) {

@@ -8,3 +8,3 @@ var cache_key = Symbol('memoize_cache');

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -132,7 +132,7 @@ * @version 0.6.5

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.7.0
*
* @param {Object|Number} config Config object or timeout in ms
* @param {Object|number} config Config object or timeout in ms
*/

@@ -163,3 +163,3 @@ Blast.Decorators.throttle = function throttle(config) {

// Overwrite the value
descriptor.value = Collection.Function.throttle(descriptor.value, config);
descriptor.value = Fn.throttle(descriptor.value, config);

@@ -173,3 +173,3 @@ return options;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -216,3 +216,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -219,0 +219,0 @@ * @version 0.7.1

@@ -6,7 +6,7 @@ const defStat = Blast.createStaticDefiner('Function');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @type {Symbol}
* @type {symbol}
*/

@@ -18,7 +18,7 @@ Blast.asyncScheduler = Symbol('async_scheduler');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @type {Symbol}
* @type {symbol}
*/

@@ -31,3 +31,3 @@ Blast.flowPledgeClass = Symbol('flow_pledge_class');

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -43,3 +43,3 @@ * @version 0.1.3

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -53,3 +53,3 @@ * @version 0.3.0

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -69,7 +69,7 @@ * @version 0.3.6

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.8.16
*
* @param {Number} timer Time in ms to wait before exploding
* @param {number} timer Time in ms to wait before exploding
* @param {Function} callback The callback to use when exploding

@@ -141,7 +141,7 @@ *

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.8.15
*
* @param {Boolean} _forceAsync Force asynchronous behaviour [TRUE]
* @param {boolean} _forceAsync Force asynchronous behaviour [TRUE]
* @param {Array} _tasks Tasks to perform

@@ -200,3 +200,3 @@ * @param {Function} _callback Function to call when done

// Normalize the tasks
if (Collection.Object.isPlainObject(tasks)) {
if (Obj.isPlainObject(tasks)) {

@@ -210,3 +210,3 @@ // Get the keys

// The result object will also be an object
results = Collection.Object.mapKeys(keys);
results = Obj.mapKeys(keys);
} else {

@@ -404,3 +404,3 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -750,3 +750,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -798,3 +798,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -817,3 +817,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -835,3 +835,3 @@ * @version 0.1.6

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -854,3 +854,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -872,3 +872,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -914,3 +914,3 @@ * @version 0.1.4

return Blast.Collection.Function['while'](test, wrapTask, callback);
return Fn['while'](test, wrapTask, callback);
}

@@ -921,3 +921,3 @@

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -955,3 +955,3 @@ * @version 0.5.9

return Blast.Collection.Function.parallel(limit, tasks, callback);
return Fn.parallel(limit, tasks, callback);
};

@@ -965,8 +965,8 @@

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.21
*
* @param {Boolean} atleastOnce Should the taskFnc run at least once?
* @param {Boolean} matchValue Should testFnc return be truthy or falsy?
* @param {boolean} atleastOnce Should the taskFnc run at least once?
* @param {boolean} matchValue Should testFnc return be truthy or falsy?
* @param {Function} testFnc

@@ -1039,3 +1039,3 @@ * @param {Function} taskFnc

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1131,8 +1131,8 @@ * @version 0.7.21

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} amount The minimum number of times to run
* @param {Number} ms The minimum number of ms to run, if amount is not set
* @param {number} amount The minimum number of times to run
* @param {number} ms The minimum number of ms to run, if amount is not set
* @param {Function} task

@@ -1237,7 +1237,7 @@ * @param {Function} callback

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} ms The minimum number of ms to run
* @param {number} ms The minimum number of ms to run
* @param {Function} task

@@ -1247,3 +1247,3 @@ * @param {Function} callback

defStat(function doTime(ms, task, callback) {
return Collection.Function.doUnitTime(0, ms, task, callback);
return Fn.doUnitTime(0, ms, task, callback);
});

@@ -1255,7 +1255,7 @@

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} amount The minimum number of times to run
* @param {number} amount The minimum number of times to run
* @param {Function} task

@@ -1265,3 +1265,3 @@ * @param {Function} callback

defStat(function doAmount(amount, task, callback) {
return Collection.Function.doUnitTime(amount, 0, task, callback);
return Fn.doUnitTime(amount, 0, task, callback);
});

@@ -1272,3 +1272,3 @@

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.6

@@ -1303,3 +1303,3 @@ * @version 0.1.6

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.6

@@ -1309,3 +1309,3 @@ * @version 0.5.5

* @param {Function} fnc Function to regulate
* @param {Number} amount Maximum amount of times it can be called
* @param {number} amount Maximum amount of times it can be called
* @param {Function} overflow Function that will receive extra calls

@@ -1357,3 +1357,3 @@ *

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.9

@@ -1363,5 +1363,5 @@ * @version 0.7.1

* @param {Function} fnc Function to throttle
* @param {Number} minimum_wait Minimum time to wait between executions
* @param {Boolean} immediate If true, execute the first execution immediately
* @param {Boolean} reset_on_call Reset the counter on each call
* @param {number} minimum_wait Minimum time to wait between executions
* @param {boolean} immediate If true, execute the first execution immediately
* @param {boolean} reset_on_call Reset the counter on each call
*

@@ -1488,3 +1488,3 @@ * @return {Function}

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -1496,3 +1496,3 @@ * @version 0.1.8

defStat(function createQueue(options) {
return new Blast.Classes.FunctionQueue(options);
return new Classes.FunctionQueue(options);
});
const finished_constitutors = new WeakMap(),
waiting_children = new WeakMap(),
CONSTITUTED_STATE = new WeakMap(),
CONSTITUTED_LISTENERS = Symbol('constituted_listener'),
CONSTITUTED_LISTENERS = Symbol('constituted_listener'),
POST_INHERIT_STATE = new WeakMap(),
POST_INHERIT_LISTENERS = Symbol('post_inherit_listener'),
finished_post_inherits = new WeakMap(),
CLASS_PATH_CACHE = new Map(),
proto_defs = [];
/**
* Cast to an array
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*/
const castArray = input => Bound.Array.cast(input);
/**
* Is this an array?
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*/
const isArray = input => Array.isArray(input);
/**
* Add a static method/property to a class and optionally its chain.
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.0

@@ -15,3 +37,3 @@ * @version 0.5.0

* @param {Function} target
* @param {String} key
* @param {string} key
* @param {Object} descriptor

@@ -36,3 +58,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -42,3 +64,3 @@ * @version 0.1.9

* @param {Function} newConstructor
* @param {String} key
* @param {string} key
* @param {Object} descriptor

@@ -66,3 +88,3 @@ */

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.9

@@ -72,3 +94,3 @@ * @version 0.7.24

* @param {Function} parent
* @param {String} key
* @param {string} key
* @param {Object} descriptor

@@ -100,3 +122,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6

@@ -111,4 +133,2 @@ * @version 0.3.6

var more;
if (proto == null) {

@@ -120,3 +140,3 @@ proto = Object.create(new_constructor.prototype);

// (older properties could get overwritten)
more = Object.getPrototypeOf(parent_constructor.prototype);
let more = Object.getPrototypeOf(parent_constructor.prototype);

@@ -129,3 +149,3 @@ if (more.constructor !== Object) {

// Inject the enumerable and non-enumerable properties of the parent
Collection.Object.inject(proto, parent_constructor.prototype);
Obj.inject(proto, parent_constructor.prototype);

@@ -138,7 +158,7 @@ return proto;

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.1
* @version 0.7.25
*
* @param {String} namespace
* @param {string} namespace
*

@@ -154,3 +174,3 @@ * @return {Object}

if (Array.isArray(namespace)) {
if (isArray(namespace)) {
namespace = namespace.join('.');

@@ -180,3 +200,3 @@ }

result = Collection.Function.create(name, function() {
result = Fn.create(name, function() {
var instance;

@@ -211,3 +231,3 @@

if (!result.setStatic) {
Blast.defineValue(result, 'setStatic', Collection.Function.prototype.setStatic);
Blast.defineValue(result, 'setStatic', Fn.prototype.setStatic);
}

@@ -240,7 +260,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.0
* @version 0.5.0
*
* @param {String} path
* @param {string} path
*

@@ -278,7 +298,7 @@ * @return {Function}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.0
* @version 0.5.0
*
* @param {String} path
* @param {string} path
*

@@ -362,20 +382,75 @@ * @return {Object}

/**
* Parse a class path and return the results as an array
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @param {string|function} path
*
* @return {string[]}
*/
Blast.parseClassPath = function parseClassPath(path) {
if (typeof path == 'function') {
path = path.namespace ? path.namespace + '.' + path.name : path.name;
}
if (path.length > 1024) {
throw new Error('Path is too long');
}
let result = CLASS_PATH_CACHE.get(path);
if (result) {
return result;
}
let pieces = path.split('.'),
lower,
piece;
result = [];
for (piece of pieces) {
lower = piece.toLowerCase();
// The path consists of underscored type names,
// like `my_namespace.my_class`
if (piece == lower) {
piece = piece.classify();
} else if (piece.includes('_')) {
// There is an underscore in the path,
// which means it's also a path separator,
// but only if it is not lowercase
result.push(...piece.split('_'));
continue;
}
result.push(piece);
}
CLASS_PATH_CACHE.set(path, result);
return result;
};
/**
* Do the given task for a given constructor
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.3.6
* @version 0.9.0
*
* @param {Function} constructor
* @param {Function} task
* @param {WeakMap} finished_map
*/
const doConstructorTask = function doConstructorTask(constructor, task) {
const doConstructorTask = function doConstructorTask(constructor, task, finished_map) {
var finished;
let finished = finished_map.get(constructor);
finished = finished_constitutors.get(constructor);
if (!finished) {
finished = [];
finished_constitutors.set(constructor, finished);
finished_map.set(constructor, finished);
}

@@ -392,3 +467,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -407,3 +482,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -432,3 +507,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -462,3 +537,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -476,10 +551,10 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.8.18
*
* @param {String|Function|Array} _parent Parent class to inherit from
* @param {String} _namespace Namespace to store class in
* @param {string|Function|Array} _parent Parent class to inherit from
* @param {string} _namespace Namespace to store class in
* @param {Function} _newConstructor New class constructor
* @param {Boolean} _do_constitutors Do the constitutors [true]
* @param {boolean} _do_constitutors Do the constitutors [true]
*

@@ -528,3 +603,3 @@ * @return {Function}

names = [parentConstructor];
} else if (Array.isArray(parentConstructor)) {
} else if (isArray(parentConstructor)) {
names = parentConstructor;

@@ -567,3 +642,3 @@ }

if (Array.isArray(names)) {
if (isArray(names)) {

@@ -622,12 +697,25 @@ // Make sure all super constructors are available first

// Add the parent post-inheritors to the new constructor
if (newConstructor.super.postInheritors != null) {
for (i = 0; i < newConstructor.super.postInheritors.length; i++) {
newConstructor.postInherit(newConstructor.super.postInheritors[i]);
}
};
// Add the parent constitutors to the new constructor
if (newConstructor.super.constitutors != null) {
for (i = 0; i < newConstructor.super.constitutors.length; i++) {
newConstructor.constitute(newConstructor.super.constitutors[i]);
addConstructorConstitutor(newConstructor, newConstructor.super.constitutors[i], true);
}
};
for (i = 0; i < oldProto.waitingPostInherit.length; i++) {
newConstructor.postInherit(oldProto.waitingPostInherit[i]);
}
for (i = 0; i < oldProto.waitingConstitute.length; i++) {
newConstructor.constitute(oldProto.waitingConstitute[i]);
addConstructorConstitutor(newConstructor, oldProto.waitingConstitute[i], true);
}
doPostInheritors(newConstructor);
};

@@ -649,2 +737,3 @@

newConstructor.prototype.waitingConstitute = [];
newConstructor.prototype.waitingPostInherit = [];

@@ -671,4 +760,2 @@ // Ensure the constructor has static methods

var waiting;
// If the super class still isn't available, do nothing

@@ -679,3 +766,3 @@ if (!newConstructor.super) {

waiting = waiting_children.get(newConstructor.super);
let waiting = waiting_children.get(newConstructor.super);

@@ -721,3 +808,3 @@ if (!waiting) {

if (temp && temp != newConstructor) {
temp = Collection.Function.create(new_constructor_name, temp);
temp = Fn.create(new_constructor_name, temp);
temp.staticChain = newConstructor.staticChain;

@@ -765,3 +852,3 @@ temp.super = newConstructor.super;

if (newConstructor.staticChain) {
Collection.Object.inject(newConstructor.staticChain, chain);
Obj.inject(newConstructor.staticChain, chain);
} else {

@@ -801,2 +888,8 @@ newConstructor.staticChain = Object.create(chain);

if (parentConstructor.postInheritors != null) {
for (i = 0; i < parentConstructor.postInheritors.length; i++) {
newConstructor.postInherit(parentConstructor.postInheritors[i]);
}
}
// Get the parent constitutors and execute them

@@ -851,2 +944,4 @@ if (_do_constitutors && parentConstructor.constitutors != null) {

doPostInheritors(newConstructor);
Blast.executeAfterLoadingCycle(function doConstitutorsWhenLoaded() {

@@ -862,3 +957,3 @@ doConstitutors(newConstructor);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -880,3 +975,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -894,3 +989,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -923,3 +1018,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26

@@ -953,3 +1048,3 @@ * @version 0.7.26

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.5

@@ -967,5 +1062,5 @@ * @version 0.8.5

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.8.13
* @version 0.9.0
*/

@@ -1003,3 +1098,5 @@ defClassMethod(function getDescendantsDict(constructor) {

type_path = Bound.String.underscore(Bound.String.slug(namespace)) + '.' + type_path;
namespace = Blast.parseClassPath(namespace).map(entry => Bound.String.underscore(entry)).join('.');
type_path = namespace + '.' + type_path;
}

@@ -1017,5 +1114,5 @@ }

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
* @version 0.9.0
*/

@@ -1028,4 +1125,11 @@ defClassMethod(function getDescendant(constructor, name) {

let result = constructor.getDescendantsDict()[name];
const dict = constructor.getDescendantsDict();
let result = dict[name];
if (!result) {
name = Blast.parseClassPath(name).map(entry => Bound.String.underscore(entry)).join('.');
result = dict[name];
}
return result;

@@ -1035,5 +1139,24 @@ });

/**
* Do the postInheritors for the given constructor
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @param {Function} constructor
*/
function doPostInheritors(constructor) {
return _doCPI(
constructor,
POST_INHERIT_STATE,
'postInheritors',
finished_post_inherits,
POST_INHERIT_LISTENERS
);
}
/**
* Do the constitutors for the given constructor
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6

@@ -1045,5 +1168,28 @@ * @version 0.7.20

function doConstitutors(constructor) {
return _doCPI(
constructor,
CONSTITUTED_STATE,
'constitutors',
finished_constitutors,
CONSTITUTED_LISTENERS
);
}
/**
* Do the constitutors for the given constructor
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.7.20
*
* @param {Function} constructor
* @param {WeakMap} state_map
* @param {string} task_key
* @param {WeakMap} finished_map
* @param {symbol} listeners
*/
function _doCPI(constructor, state_map, task_key, finished_map, listeners) {
// If this is in any constituted state, do nothing
if (CONSTITUTED_STATE.get(constructor)) {
if (state_map.get(constructor)) {
return;

@@ -1053,10 +1199,11 @@ }

// Set constituted state 1 (starting constitutors)
CONSTITUTED_STATE.set(constructor, 1);
state_map.set(constructor, 1);
let tasks = constructor.constitutors,
i;
let tasks = constructor[task_key];
if (tasks) {
let i;
for (i = 0; i < tasks.length; i++) {
doConstructorTask(constructor, tasks[i]);
doConstructorTask(constructor, tasks[i], finished_map);
}

@@ -1066,3 +1213,3 @@ }

// State 2: constitutors done, doing waiting children
CONSTITUTED_STATE.set(constructor, 2);
state_map.set(constructor, 2);

@@ -1072,4 +1219,6 @@ let waiting = waiting_children.get(constructor);

if (waiting && waiting.length) {
let i;
for (i = 0; i < waiting.length; i++) {
doConstitutors(waiting[i]);
_doCPI(waiting[i], state_map, task_key, finished_map);
}

@@ -1079,7 +1228,7 @@ }

// State 3: children done, doing constituted listeners
CONSTITUTED_STATE.set(constructor, 3);
state_map.set(constructor, 3);
if (constructor[CONSTITUTED_LISTENERS]) {
while (constructor[CONSTITUTED_LISTENERS].length) {
constructor[CONSTITUTED_LISTENERS].shift().call(constructor);
if (constructor[listeners]) {
while (constructor[listeners].length) {
constructor[listeners].shift().call(constructor);
}

@@ -1089,3 +1238,3 @@ }

// State 4: everything is done
CONSTITUTED_STATE.set(constructor, 4);
state_map.set(constructor, 4);
}

@@ -1096,3 +1245,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.10

@@ -1106,8 +1255,50 @@ * @version 0.5.10

/**
* Do things to the class constructor as soon as it has inherited,
* and inherit to children
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @param {Function} constructor
* @param {Function} task
*/
defClassMethod(function postInherit(constructor, task) {
if (constructor.prototype.waitingPostInherit) {
constructor.prototype.waitingPostInherit.push(task);
return;
}
let tasks = constructor.postInheritors;
if (tasks == null) {
tasks = [];
Blast.defineValue(constructor, 'postInheritors', tasks);
}
// Store the task for inherited classes
tasks.push(task);
doConstructorTask(constructor, task, finished_post_inherits);
// If this class already has children, add them there too
if (constructor.children?.length) {
let child;
for (child of constructor.children) {
if (!child.postInheritors || child.postInheritors.indexOf(task) == -1) {
postInheritors(child, task);
}
}
}
});
/**
* Do things to the class constructor once it's ready,
* and inherit to children
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.8.18
* @version 0.9.0
*

@@ -1124,2 +1315,17 @@ * @param {Function} constructor

addConstructorConstitutor(constructor, task, false);
});
/**
* Actually add and maybe execute the constitutor to the given constructor
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @param {Function} constructor
* @param {Function} task
*/
function addConstructorConstitutor(constructor, task, after_wait = false) {
let tasks = constructor.constitutors;

@@ -1141,8 +1347,12 @@

if (CONSTITUTED_STATE.get(constructor)) {
doConstructorTask(constructor, task);
doConstructorTask(constructor, task, finished_constitutors);
} else {
Blast.queueImmediate(function doQueuedConstitutor() {
doConstructorTask(constructor, task);
doConstructorTask(constructor, task, finished_constitutors);
});
}
} else if (Blast.didInitialLoad()) {
Blast.loaded(() => {
doConstructorTask(constructor, task, finished_constitutors);
});
}

@@ -1156,7 +1366,7 @@

if (!child.constitutors || child.constitutors.indexOf(task) == -1) {
constitute(child, task);
child.constitute(task);
}
}
}
});
}

@@ -1166,3 +1376,3 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1172,3 +1382,3 @@ * @version 0.1.4

* @param {Mixed} target
* @param {String} key Name to use
* @param {string} key Name to use
* @param {Function} compositor

@@ -1199,3 +1409,3 @@ * @param {Object} traits

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1205,3 +1415,3 @@ * @version 0.5.1

* @param {Mixed} target
* @param {String} key Name to use
* @param {string} key Name to use
* @param {Function} compositor

@@ -1234,4 +1444,4 @@ * @param {Object} traits

if (traits == null) {
traits = Collection.Object.enumerateOwnDescriptors(compositor.prototype);
} else if (Array.isArray(traits)) {
traits = Obj.enumerateOwnDescriptors(compositor.prototype);
} else if (isArray(traits)) {
keys = traits;

@@ -1308,3 +1518,3 @@ traits = {};

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1316,3 +1526,3 @@ * @version 0.7.25

* @param {Array} return_types Optional return types
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} method The method to set

@@ -1329,3 +1539,3 @@ *

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.9

@@ -1335,3 +1545,3 @@ * @version 0.8.9

* @param {Function} constructor Constructor to modify prototype of
* @param {String} method_name The name of the method to instrument
* @param {string} method_name The name of the method to instrument
* @param {Function} before Function to call before executing the main method

@@ -1349,3 +1559,3 @@ * @param {Function} after Function to call after executing the main method

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1355,5 +1565,5 @@ * @version 0.2.0

* @param {Function} target Target object/function to use
* @param {String} _key Name to use (defaults to method name)
* @param {string} _key Name to use (defaults to method name)
* @param {Function} _value The value to set
* @param {Boolean} _inherit Let children inherit this (true)
* @param {boolean} _inherit Let children inherit this (true)
*/

@@ -1375,5 +1585,5 @@ defClassMethod(function setStatic(target, _key, _value, _inherit) {

value = _key;
keys = Collection.Array.cast(value.name || undefined);
keys = castArray(value.name || undefined);
} else {
keys = Collection.Array.cast(_key);
keys = castArray(_key);
value = _value;

@@ -1405,3 +1615,3 @@ inherit = _inherit;

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1411,6 +1621,6 @@ * @version 0.7.24

* @param {Function} target Target object/function to use
* @param {String} _key Name to use (defaults to method name)
* @param {string} _key Name to use (defaults to method name)
* @param {Function} _getter Function that returns a value OR value
* @param {Function} _setter Function that sets the value
* @param {Boolean} _inherit Let children inherit this (true)
* @param {boolean} _inherit Let children inherit this (true)
*/

@@ -1435,3 +1645,3 @@ defClassMethod(function setStaticProperty(target, _key, _getter, _setter, _inherit) {

getter = _key;
keys = Collection.Array.cast(getter.name || undefined);
keys = castArray(getter.name || undefined);
} else {

@@ -1441,3 +1651,3 @@ inherit = _inherit;

getter = _getter;
keys = Collection.Array.cast(_key);
keys = castArray(_key);
}

@@ -1483,3 +1693,3 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1491,3 +1701,3 @@ * @version 0.7.25

* @param {Array} return_types Optional return types
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} method The method to set

@@ -1504,3 +1714,3 @@ *

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.9

@@ -1510,3 +1720,3 @@ * @version 0.8.9

* @param {Function} constructor Constructor to modify prototype of
* @param {String} method_name The name of the method to instrument
* @param {string} method_name The name of the method to instrument
* @param {Function} before Function to call before executing the main method

@@ -1522,3 +1732,3 @@ * @param {Function} after Function to call after executing the main method

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1528,3 +1738,3 @@ * @version 0.8.9

* @param {Function} constructor Constructor to modify prototype of
* @param {String} _key Name to use (defaults to method name)
* @param {string} _key Name to use (defaults to method name)
* @param {Function} _method The method to set

@@ -1548,6 +1758,6 @@ *

method = _key;
keys = Collection.Array.cast(method.name || undefined);
keys = castArray(method.name || undefined);
} else {
method = _method;
keys = Collection.Array.cast(_key);
keys = castArray(_key);
}

@@ -1604,3 +1814,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -1611,3 +1821,3 @@ * @version 0.7.2

* @param {Function} decorator The decorator to apply
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} method The method to set

@@ -1646,3 +1856,3 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.18

@@ -1652,3 +1862,3 @@ * @version 0.7.18

* @param {Function} constructor Constructor to modify prototype of
* @param {String} name The name of the method
* @param {string} name The name of the method
*/

@@ -1665,3 +1875,3 @@ defClassMethod(function setAbstractMethod(constructor, name) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -1671,3 +1881,3 @@ * @version 0.6.0

* @param {Function} constructor
* @param {String|Symbol} key
* @param {string|Symbol} key
* @param {Object} options

@@ -1687,3 +1897,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1693,3 +1903,3 @@ * @version 0.8.15

* @param {Function} constructor Constructor to modify prototype of
* @param {String} _key Name to use (defaults to method name)
* @param {string} _key Name to use (defaults to method name)
* @param {Function} _getter Function that returns a value OR value

@@ -1722,3 +1932,3 @@ * @param {Function} _setter Function that sets the value

getter = _key;
keys = Collection.Array.cast(getter.name || undefined);
keys = castArray(getter.name || undefined);
} else {

@@ -1729,3 +1939,3 @@ setter = _setter;

if (typeof _key == 'object') {
if (Array.isArray(_key)) {
if (isArray(_key)) {
keys = _key;

@@ -1739,3 +1949,3 @@ } else {

} else {
keys = Collection.Array.cast(_key);
keys = castArray(_key);
}

@@ -1805,3 +2015,3 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1811,3 +2021,3 @@ * @version 0.7.6

* @param {Function} target Target object or function
* @param {String} _key Name to use (defaults to method name)
* @param {string} _key Name to use (defaults to method name)
* @param {Function} _getter Function that returns a value

@@ -1829,7 +2039,7 @@ */

getter = _key;
keys = Collection.Array.cast(getter.name || undefined);
keys = castArray(getter.name || undefined);
} else {
enumerable = _enumerable;
getter = _getter;
keys = Collection.Array.cast(_key);
keys = castArray(_key);
}

@@ -1890,4 +2100,4 @@

if (list != null) {
for (i = 0; i < list.length; i++) {
list[i]();
while (list.length) {
list.shift()();
}

@@ -1927,3 +2137,3 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6

@@ -1933,3 +2143,3 @@ * @version 0.7.23

* @param {Function} target Target object or function
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} setter Function that returns a value

@@ -1945,5 +2155,5 @@ * @param {Function} defaulter Function that will provide a default value

setter = key;
keys = Collection.Array.cast(setter.name || undefined);
keys = castArray(setter.name || undefined);
} else {
keys = Collection.Array.cast(key);
keys = castArray(key);
}

@@ -2023,3 +2233,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.11

@@ -2053,3 +2263,3 @@ * @version 0.1.11

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24

@@ -2059,3 +2269,3 @@ * @version 0.7.24

* @param {Function} constructor
* @param {Boolean} value
* @param {boolean} value
*/

@@ -2074,3 +2284,3 @@ defClassMethod(function makeAbstractClass(constructor, value) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -2093,7 +2303,7 @@ * @version 0.2.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} getter Function that returns a value

@@ -2108,3 +2318,3 @@ */

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.4

@@ -2111,0 +2321,0 @@ * @version 0.3.4

@@ -7,3 +7,3 @@ const TYPE_WRAPPER = Symbol('type_wrapper'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -37,3 +37,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -50,7 +50,7 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25
* @version 0.7.25
*
* @type {Boolean}
* @type {boolean}
*/

@@ -64,7 +64,7 @@ get is_optional() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25
* @version 0.7.25
*
* @type {Boolean}
* @type {boolean}
*/

@@ -78,3 +78,3 @@ get not_null() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -99,9 +99,9 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25
* @version 0.7.25
*
* @param {Boolean} is_optional
* @param {boolean} is_optional
*
* @return {Boolean}
* @return {boolean}
*/

@@ -124,3 +124,3 @@ optional(is_optional = true) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -138,3 +138,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -154,3 +154,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -172,3 +172,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -186,3 +186,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -204,3 +204,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -211,3 +211,3 @@ * @version 0.7.25

*
* @return {Boolean}
* @return {boolean}
*/

@@ -231,3 +231,3 @@ test(arg) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -250,3 +250,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -280,7 +280,7 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25
* @version 0.7.25
*
* @type {String}
* @type {string}
*/

@@ -303,3 +303,3 @@ get signature_string() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -320,3 +320,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -327,3 +327,3 @@ * @version 0.7.25

*
* @return {Boolean}
* @return {boolean}
*/

@@ -383,3 +383,3 @@ test(arg) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -401,3 +401,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -408,3 +408,3 @@ * @version 0.7.25

*
* @return {Boolean}
* @return {boolean}
*/

@@ -434,3 +434,3 @@ test(arg) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -450,3 +450,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -474,3 +474,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -492,3 +492,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -499,3 +499,3 @@ * @version 0.8.1

*
* @return {Boolean}
* @return {boolean}
*/

@@ -526,3 +526,3 @@ test(arg) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -548,3 +548,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -558,3 +558,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -594,3 +594,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -622,3 +622,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -647,3 +647,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -680,3 +680,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -693,3 +693,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.9

@@ -700,3 +700,3 @@ * @version 0.8.9

*
* @return {Boolean}
* @return {boolean}
*/

@@ -721,3 +721,3 @@ Blast.hasSignatureWrapperMethod = function hasSignatureWrapperMethod(context, name) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.9

@@ -830,3 +830,3 @@ * @version 0.8.9

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -940,3 +940,3 @@ * @version 0.8.9

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -946,3 +946,3 @@ * @version 0.8.9

* @param {Object} context
* @param {String} name
* @param {string} name
*/

@@ -1006,3 +1006,3 @@ Blast.getSignatureWrapperMethod = function getSignatureWrapperMethod(context, name) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.9

@@ -1012,3 +1012,3 @@ * @version 0.8.9

* @param {Object} context Holder of the method
* @param {String} method_name The name of the method to instrument
* @param {string} method_name The name of the method to instrument
* @param {Function} before Function to call before executing the main method

@@ -1034,3 +1034,3 @@ * @param {Function} after Function to call after executing the main method

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.9

@@ -1040,3 +1040,3 @@ * @version 0.8.9

* @param {Object} context
* @param {String} name
* @param {string} name
* @param {Function} fnc

@@ -1058,3 +1058,3 @@ */

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1065,3 +1065,3 @@ * @version 0.7.25

* @param {Array} argument_types
* @param {String} name
* @param {string} name
* @param {Function} fnc

@@ -1113,3 +1113,3 @@ */

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1128,3 +1128,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1163,3 +1163,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1170,5 +1170,5 @@ * @version 0.7.25

* @param {Array} args
* @param {Number} length
* @param {number} length
*
* @return {MethodSignature|Boolean}
* @return {MethodSignature|boolean}
*/

@@ -1221,3 +1221,3 @@ function testSignatures(signatures, args, length) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1268,3 +1268,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1305,3 +1305,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1333,3 +1333,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.25

@@ -1336,0 +1336,0 @@ * @version 0.7.25

const defStat = Blast.createStaticDefiner('Function'),
defProto = Blast.createProtoDefiner('Function');
defProto = Blast.createProtoDefiner('Function'),
METHODIZED = Symbol('methodized'),
UNMETHODIZED = Symbol('unmethodized');

@@ -40,2 +42,8 @@ let tokenMatches,

'%=' : 'assign_mod',
'**=' : 'assign_exponentiation',
'||=' : 'assign_logical_or',
'&&=' : 'assign_logical_and',
'??=' : 'assign_nullish',
'??' : 'nullish_coalescing',
'?.' : 'optional_chaining',
';' : 'semicolon',

@@ -86,2 +94,3 @@ ',' : 'comma',

comment2 : /\/\/.*?(?=\r\n|\r|\n|$)/,
number2 : /\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?/i,
number : /\d+(?:\.\d+)?(?:e[+-]?\d+)?/,

@@ -92,3 +101,3 @@ parens : /[\(\)]/,

punct : /[;.:\?\^%<>=!&|+\-,~]/,
regexp : /\/(?:(?:\\\/|[^\n\/]))*?\//
regexp : /\/(?:(?:\\\/|[^\n\/]))*?\//,
};

@@ -151,10 +160,11 @@

/**
* Create a function with the given variable as name
* Create a function with the given variable as name.
* If a function is given, its name will be changed using Object.defineProperty
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.4.0
* @version 0.9.0
*
* @param {String} name The name of the function
* @param {String|Array} args Optional argument names to use
* @param {string} name The name of the function
* @param {string|Array} args Optional argument names to use
* @param {Function} fnc The function body

@@ -164,8 +174,4 @@ *

*/
defStat('create', function create(name, args, fnc) {
defStat(function create(name, args, fnc) {
var result,
args,
i;
if (typeof args == 'function') {

@@ -176,2 +182,7 @@ fnc = args;

if (typeof fnc == 'function' && !args) {
Object.defineProperty(fnc, 'name', {value: name});
return fnc;
}
if (args) {

@@ -186,3 +197,3 @@ if (typeof args != 'string') {

} else if (fnc.length) {
args = Collection.Function.getArgumentNames(fnc).join(', ');
args = Fn.getArgumentNames(fnc).join(', ');
} else {

@@ -192,4 +203,8 @@ args = '';

eval('result = function ' + name + '(' + args + ') {return fnc.apply(this, arguments);}');
let result = _create(name, args, fnc);
Blast.defineGet(fnc, 'super', function getSuper() {
return result.super;
});
// Store the new wrapper function on fnc

@@ -202,13 +217,32 @@ fnc.wrapper = result;

/**
* Actually create the function
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @param {string} name The name of the function
* @param {string|Array} args Optional argument names to use
* @param {Function} fnc The function body
*
* @return {Function}
*/
function _create(name, args, fnc) {
let result;
eval('result = function ' + name + '(' + args + ') {return fnc.apply(this, arguments);}');
return result;
}
/**
* Check if the given function name is allowed
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.8
* @version 0.7.0
*
* @param {String} name The name of the function to test
* @param {string} name The name of the function to test
*
* @return {Boolean}
* @return {boolean}
*/
defStat('isNameAllowed', function isNameAllowed(name) {
defStat(function isNameAllowed(name) {

@@ -234,11 +268,11 @@ var result;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {String} tokenString
* @param {string} tokenString
*
* @return {String}
* @return {string}
*/
defStat('getTokenType', function getTokenType(tokenString) {
defStat(function getTokenType(tokenString) {

@@ -268,13 +302,13 @@ var patternName;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.7.13
* @version 0.9.0
*
* @param {String} sourceCode
* @param {Boolean} addType Add the type of the token
* @param {Boolean} throwErrors Throw error when invalid token is found
* @param {string} sourceCode
* @param {boolean} addType Add the type of the token
* @param {boolean} throwErrors Throw error when invalid token is found
*
* @return {Array}
*/
defStat('tokenize', function tokenize(sourceCode, addType, throwErrors) {
defStat(function tokenize(sourceCode, addType, throwErrors) {

@@ -326,3 +360,3 @@ let line_nr = 0,

obj = {
type : Collection.Function.getTokenType(tokens[i]),
type : Fn.getTokenType(tokens[i]),
value : tokens[i],

@@ -333,2 +367,7 @@ line_start : line_nr,

if (obj.type === 'number2') {
obj.type = 'number';
obj.value = obj.value.replaceAll('_', '');
}
if (declaring) {

@@ -396,13 +435,13 @@ if (obj.value == ';') {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} index The current index
* @param {number} index The current index
* @param {Array} tokens Array of all the tokens
* @param {Object} obj The current object
* @param {Object} prev The previous object
* @param {Boolean} declaring Are we currently declaring something?
* @param {boolean} declaring Are we currently declaring something?
*
* @return {Number}
* @return {number}
*/

@@ -450,3 +489,3 @@ function checkTogenizeRegex(index, tokens, obj, prev, declaring, assigning) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.8

@@ -467,3 +506,3 @@ * @version 0.3.8

tokens = Collection.Function.tokenize(fnc, true);
tokens = Fn.tokenize(fnc, true);

@@ -496,8 +535,8 @@ for (i = 0; i < tokens.length; i++) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Boolean} addType Add the type of the token
* @param {Boolean} throwErrors Throw error when invalid token is found
* @param {boolean} addType Add the type of the token
* @param {boolean} throwErrors Throw error when invalid token is found
*

@@ -507,3 +546,3 @@ * @return {Array}

defProto(function tokenize(addType, throwErrors) {
return Collection.Function.tokenize(''+this, addType, throwErrors);
return Fn.tokenize(''+this, addType, throwErrors);
});

@@ -514,7 +553,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @return {String}
* @return {string}
*/

@@ -530,21 +569,2 @@ defProto(function getBodySource() {

// method source code
let method = ''+function (){
var args = [this],
len = arguments.length,
i;
// Push all the arguments the old fashioned way,
// this is the fastest method
for (i = 0; i < len; i++) {
args.push(arguments[i]);
}
return m_fnc.apply(this, args);
};
// Remove the 'function' part and leave only the body
method = method.slice(method.indexOf('('));
/**

@@ -554,7 +574,7 @@ * Create a function that will call the given function with 'this'

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.7.0
* @version 0.9.0
*
* @param {String} name The name to use for the wrapper
* @param {string} name The name to use for the wrapper
*

@@ -565,52 +585,29 @@ * @return {Function}

var sourcecode,
m_fnc;
if (this[METHODIZED]) {
return this[METHODIZED];
}
if (this._methodized) return this._methodized;
let original_function = this;
m_fnc = this;
if (typeof name == 'undefined') {
name = m_fnc.name;
name = original_function.name;
}
// Add an underscore should anyone ever use this name
if (name == 'm_fnc') {
name = '_m_fnc';
}
let methodized_function = Fn.create(name, function methodized(...args) {
return original_function.call(this, this, ...args);
});
if (!Collection.Function.isNameAllowed(name)) {
name = '_' + Collection.String.prototype.slug.call(name, '_');
}
Blast.defineProperty(original_function, METHODIZED, {
value: methodized_function,
});
// Get the sourcecode
sourcecode = 'function ' + name + method;
eval('Blast.defineProperty(m_fnc, "_methodized", {value:' + sourcecode + '});');
// Make sure a methodized function doesn't get methodized
Blast.defineProperty(m_fnc._methodized, '_methodized', {value: m_fnc._methodized});
Blast.defineProperty(methodized_function, METHODIZED, {value: methodized_function});
// Add the unmethodized function
Blast.defineProperty(m_fnc._methodized, '_unmethodized', {value: m_fnc});
Blast.defineProperty(methodized_function, UNMETHODIZED, {value: original_function});
return this._methodized;
return methodized_function;
});
// Unmethod source code
let unmethod = ''+function () {
var args = [],
i;
for (i = 1; i < arguments.length; i++) {
args.push(arguments[i]);
}
return u_fnc.apply(arguments[0], args);
};
// Remove the 'function' part and leave only the body
unmethod = unmethod.slice(unmethod.indexOf('('));
/**

@@ -620,7 +617,7 @@ * Create a function that will call the given function with

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.7.0
* @version 0.9.0
*
* @param {String} name The name to use for the wrapper
* @param {string} name The name to use for the wrapper
*

@@ -631,34 +628,27 @@ * @return {Function}

var sourcecode,
u_fnc;
if (this[UNMETHODIZED]) {
return this[UNMETHODIZED];
}
if (this._unmethodized) return this._unmethodized;
let original_function = this;
u_fnc = this;
if (typeof name == 'undefined') {
name = u_fnc.name;
name = original_function.name;
}
// Add an underscore should anyone ever use this name
if (name == 'u_fnc') {
name = '_u_fnc';
}
let unmethodized_function = Fn.create(name, function unmethodized(self, ...args) {
return original_function.apply(self, args);
});
if (!Collection.Function.isNameAllowed(name)) {
name = '_' + Collection.String.prototype.slug.call(name, '_');
}
Blast.defineProperty(original_function, UNMETHODIZED, {
value: unmethodized_function,
});
// Get the sourcecode
sourcecode = 'function ' + name + unmethod;
eval('Blast.defineProperty(u_fnc, "_unmethodized", {value:' + sourcecode + '});');
// Make sure an unmethodized function doesn't get unmethodized
Blast.defineProperty(u_fnc._unmethodized, '_unmethodized', {value: u_fnc._unmethodized});
Blast.defineProperty(unmethodized_function, UNMETHODIZED, {value: unmethodized_function});
// Add the methodized function
Blast.defineProperty(u_fnc._unmethodized, '_methodized', {value: u_fnc});
Blast.defineProperty(unmethodized_function, METHODIZED, {value: original_function});
return this._unmethodized;
return unmethodized_function;
});

@@ -671,3 +661,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -696,3 +686,3 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -703,3 +693,3 @@ * @version 0.7.1

*
* @return {Boolean}
* @return {boolean}
*/

@@ -706,0 +696,0 @@ defStat(function isNativeClass(fnc) {

@@ -14,3 +14,3 @@ var defaultOptions = {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -76,3 +76,3 @@ * @version 0.2.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -90,3 +90,3 @@ * @version 0.1.8

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -128,3 +128,3 @@ * @version 0.3.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -213,3 +213,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.10

@@ -242,3 +242,3 @@ * @version 0.3.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -254,7 +254,7 @@ * @version 0.1.9

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8
* @version 0.7.1
*
* @param {Boolean} set_end Set `lastEnd` to current timestamp
* @param {boolean} set_end Set `lastEnd` to current timestamp
* @param {Object} force_next Next object to force

@@ -411,3 +411,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -442,3 +442,3 @@ * @version 0.1.9

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -471,3 +471,3 @@ * @version 0.1.9

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.9

@@ -474,0 +474,0 @@ * @version 0.1.9

/**
* The HashKey Class
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -18,3 +18,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -25,3 +25,3 @@ * @version 0.7.20

*
* @return {String|Symbol}
* @return {string|symbol}
*/

@@ -72,7 +72,7 @@ HashKey.setStatic(function createCheapKey(value, level) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20
* @version 0.7.20
*
* @type {String}
* @type {string}
*/

@@ -79,0 +79,0 @@ HashKey.enforceProperty(function full_key(new_value) {

/**
* The HashSet Class
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -31,7 +31,7 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20
* @version 0.7.20
*
* @type {Number}
* @type {number}
*/

@@ -45,7 +45,7 @@ HashSet.setProperty(function size() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20
* @version 0.7.20
*
* @type {Number}
* @type {number}
*/

@@ -59,3 +59,3 @@ HashSet.setProperty(Symbol.species, function getSpecies() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -73,3 +73,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -91,3 +91,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -109,3 +109,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -132,3 +132,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -184,3 +184,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -203,3 +203,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -210,3 +210,3 @@ * @version 0.7.20

*
* @return {Boolean}
* @return {boolean}
*/

@@ -250,3 +250,3 @@ HashSet.setMethod(function has(value) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -257,3 +257,3 @@ * @version 0.7.20

*
* @return {Boolean}
* @return {boolean}
*/

@@ -260,0 +260,0 @@ HashSet.setMethod('delete', function _delete(value) {

@@ -23,181 +23,203 @@ /**

*/
let S;
const Rxi = (pattern) => RegExp(pattern, 'gi'),
Rxg = (pattern) => RegExp(pattern, 'g'),
Rxia = (pattern) => [Rxi(pattern)],
Rxiar = (pattern, replacement) => [Rxi(pattern), '$1' + (replacement || '')];
let InflectionJS = {
// This is a list of nouns that use the same form for both singular and plural.
// This list should remain entirely in lower case to correctly match Strings.
const UNCOUNTABLE_WORDS = [
'equipment',
'information',
'rice',
'money',
'species',
'series',
'fish',
'sheep',
'moose',
'deer',
'news',
];
// This is a list of nouns that use the same form for both singular and plural.
// This list should remain entirely in lower case to correctly match Strings.
uncountable_words: [
'equipment', 'information', 'rice', 'money', 'species', 'series',
'fish', 'sheep', 'moose', 'deer', 'news'
],
// These rules translate from the singular form of a noun to its plural form.
const PLURAL_RULES = [
// do not replace if its already a plural word
Rxia('(m)en$'),
Rxia('(pe)ople$'),
Rxia('(child)ren$'),
Rxia('([ti])a$'),
Rxia('((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$'),
Rxia('(hive)s$'),
Rxia('(tive)s$'),
Rxia('(curve)s$'),
Rxia('([lr])ves$'),
Rxia('([^fo])ves$'),
Rxia('([^aeiouy]|qu)ies$'),
Rxia('(s)eries$'),
Rxia('(m)ovies$'),
Rxia('(x|ch|ss|sh)es$'),
Rxia('([m|l])ice$'),
Rxia('(bus)es$'),
Rxia('(o)es$'),
Rxia('(shoe)s$'),
Rxia('(cris|ax|test)es$'),
Rxia('(octop|vir)i$'),
Rxia('(alias|status)es$'),
Rxia('^(ox)en'),
Rxia('(vert|ind)ices$'),
Rxia('(matr)ices$'),
Rxia('(quiz)zes$'),
// These rules translate from the singular form of a noun to its plural form.
plural_rules: [
// do not replace if its already a plural word
[ RegExp( '(m)en$', 'gi' )],
[ RegExp( '(pe)ople$', 'gi' )],
[ RegExp( '(child)ren$', 'gi' )],
[ RegExp( '([ti])a$', 'gi' )],
[ RegExp( '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$','gi' )],
[ RegExp( '(hive)s$', 'gi' )],
[ RegExp( '(tive)s$', 'gi' )],
[ RegExp( '(curve)s$', 'gi' )],
[ RegExp( '([lr])ves$', 'gi' )],
[ RegExp( '([^fo])ves$', 'gi' )],
[ RegExp( '([^aeiouy]|qu)ies$', 'gi' )],
[ RegExp( '(s)eries$', 'gi' )],
[ RegExp( '(m)ovies$', 'gi' )],
[ RegExp( '(x|ch|ss|sh)es$', 'gi' )],
[ RegExp( '([m|l])ice$', 'gi' )],
[ RegExp( '(bus)es$', 'gi' )],
[ RegExp( '(o)es$', 'gi' )],
[ RegExp( '(shoe)s$', 'gi' )],
[ RegExp( '(cris|ax|test)es$', 'gi' )],
[ RegExp( '(octop|vir)i$', 'gi' )],
[ RegExp( '(alias|status)es$', 'gi' )],
[ RegExp( '^(ox)en', 'gi' )],
[ RegExp( '(vert|ind)ices$', 'gi' )],
[ RegExp( '(matr)ices$', 'gi' )],
[ RegExp( '(quiz)zes$', 'gi' )],
Rxiar('(m)an$', 'en'),
Rxiar('(pe)rson$', 'ople'),
Rxiar('(child)$', 'ren'),
Rxiar('^(ox)$', 'en'),
Rxiar('(ax|test)is$', 'es'),
Rxiar('(octop|vir)us$', 'i'),
Rxiar('(alias|status)$', 'es'),
Rxiar('(bu)s$', 'ses'),
Rxiar('(buffal|tomat|potat)o$', 'oes'),
Rxiar('([ti])um$', 'a'),
[Rxi('sis$'), 'ses'],
Rxiar('(?:([^f])fe|([lr])f)$', '$2ves'),
Rxiar('(hive)$', 's'),
Rxiar('([^aeiouy]|qu)y$', 'ies'),
Rxiar('(x|ch|ss|sh)$', 'es'),
Rxiar('(matr|vert|ind)ix|ex$', 'ices'),
Rxiar('([m|l])ouse$', 'ice'),
Rxiar('(quiz)$', 'zes'),
Rxiar('(criter)ion$', 'ia'),
[Rxi('s$'), 's'],
[Rxi('$'), 's']
];
[ RegExp( '(m)an$', 'gi' ), '$1en' ],
[ RegExp( '(pe)rson$', 'gi' ), '$1ople' ],
[ RegExp( '(child)$', 'gi' ), '$1ren' ],
[ RegExp( '^(ox)$', 'gi' ), '$1en' ],
[ RegExp( '(ax|test)is$', 'gi' ), '$1es' ],
[ RegExp( '(octop|vir)us$', 'gi' ), '$1i' ],
[ RegExp( '(alias|status)$', 'gi' ), '$1es' ],
[ RegExp( '(bu)s$', 'gi' ), '$1ses' ],
[ RegExp( '(buffal|tomat|potat)o$', 'gi' ), '$1oes' ],
[ RegExp( '([ti])um$', 'gi' ), '$1a' ],
[ RegExp( 'sis$', 'gi' ), 'ses' ],
[ RegExp( '(?:([^f])fe|([lr])f)$', 'gi' ), '$1$2ves' ],
[ RegExp( '(hive)$', 'gi' ), '$1s' ],
[ RegExp( '([^aeiouy]|qu)y$', 'gi' ), '$1ies' ],
[ RegExp( '(x|ch|ss|sh)$', 'gi' ), '$1es' ],
[ RegExp( '(matr|vert|ind)ix|ex$', 'gi' ), '$1ices' ],
[ RegExp( '([m|l])ouse$', 'gi' ), '$1ice' ],
[ RegExp( '(quiz)$', 'gi' ), '$1zes' ],
[ RegExp( '(criter)ion$', 'gi'), '$1ia' ],
// These rules translate from the plural form of a noun to its singular form.
const SINGULAR_RULES = [
// do not replace if its already a singular word
Rxia('(m)an$'),
Rxia('(pe)rson$'),
Rxia('(child)$'),
Rxia('^(ox)$'),
Rxia('(ax|test)is$'),
Rxia('(octop|vir)us$'),
Rxia('(alias|status)$'),
Rxia('(bu)s$'),
Rxia('(buffal|tomat|potat)o$'),
Rxia('([ti])um$'),
Rxia('sis$'),
Rxia('(?:([^f])fe|([lr])f)$'),
Rxia('(hive)$'),
Rxia('([^aeiouy]|qu)y$'),
Rxia('(x|ch|ss|sh)$'),
Rxia('(matr|vert|ind)ix|ex$'),
Rxia('([m|l])ouse$'),
Rxia('(quiz)$'),
[ RegExp( 's$', 'gi' ), 's' ],
[ RegExp( '$', 'gi' ), 's' ]
],
// original rule
Rxiar('(m)en$', 'an'),
Rxiar('(pe)ople$', 'rson'),
Rxiar('(child)ren$'),
Rxiar('(criteri)a$', 'on'),
Rxiar('([ti])a$', 'um'),
Rxiar('((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$', '$2sis'),
Rxiar('(hive)s$'),
Rxiar('(tive)s$'),
Rxiar('(curve)s$'),
Rxiar('([lr])ves$', 'f'),
Rxiar('([^fo])ves$', 'fe'),
Rxiar('(m)ovies$', 'ovie'),
Rxiar('([^aeiouy]|qu)ies$', 'y'),
Rxiar('(s)eries$', 'eries'),
Rxiar('(x|ch|ss|sh)es$'),
Rxiar('([m|l])ice$', 'ouse'),
Rxiar('(bus)es$'),
Rxiar('(o)es$'),
Rxiar('(shoe)s$'),
Rxiar('(cris|ax|test)es$', 'is'),
Rxiar('(octop|vir)i$', 'us'),
Rxiar('(alias|status)es$'),
Rxiar('^(ox)en'),
Rxiar('(vert|ind)ices$', 'ex'),
Rxiar('(matr)ices$', 'ix'),
Rxiar('(quiz)zes$'),
[Rxi('ss$'), 'ss'],
[Rxi('s$'), ''],
];
// These rules translate from the plural form of a noun to its singular form.
singular_rules: [
// do not replace if its already a singular word
[ RegExp( '(m)an$', 'gi' )],
[ RegExp( '(pe)rson$', 'gi' )],
[ RegExp( '(child)$', 'gi' )],
[ RegExp( '^(ox)$', 'gi' )],
[ RegExp( '(ax|test)is$', 'gi' )],
[ RegExp( '(octop|vir)us$', 'gi' )],
[ RegExp( '(alias|status)$', 'gi' )],
[ RegExp( '(bu)s$', 'gi' )],
[ RegExp( '(buffal|tomat|potat)o$', 'gi' )],
[ RegExp( '([ti])um$', 'gi' )],
[ RegExp( 'sis$', 'gi' )],
[ RegExp( '(?:([^f])fe|([lr])f)$', 'gi' )],
[ RegExp( '(hive)$', 'gi' )],
[ RegExp( '([^aeiouy]|qu)y$', 'gi' )],
[ RegExp( '(x|ch|ss|sh)$', 'gi' )],
[ RegExp( '(matr|vert|ind)ix|ex$', 'gi' )],
[ RegExp( '([m|l])ouse$', 'gi' )],
[ RegExp( '(quiz)$', 'gi' )],
// This is a list of words that should not be capitalized for title case
const NON_TITLECASED_WORDS = [
'and',
'or',
'nor',
'a',
'an',
'the',
'so',
'but',
'to',
'of',
'at',
'by',
'from',
'into',
'on',
'onto',
'off',
'out',
'in',
'over',
'with',
'for',
];
// original rule
[ RegExp( '(m)en$', 'gi' ), '$1an' ],
[ RegExp( '(pe)ople$', 'gi' ), '$1rson' ],
[ RegExp( '(child)ren$', 'gi' ), '$1' ],
[ RegExp( '(criteri)a$', 'gi' ), '$1on'],
[ RegExp( '([ti])a$', 'gi' ), '$1um' ],
[ RegExp( '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$','gi' ), '$1$2sis' ],
[ RegExp( '(hive)s$', 'gi' ), '$1' ],
[ RegExp( '(tive)s$', 'gi' ), '$1' ],
[ RegExp( '(curve)s$', 'gi' ), '$1' ],
[ RegExp( '([lr])ves$', 'gi' ), '$1f' ],
[ RegExp( '([^fo])ves$', 'gi' ), '$1fe' ],
[ RegExp( '(m)ovies$', 'gi' ), '$1ovie' ],
[ RegExp( '([^aeiouy]|qu)ies$', 'gi' ), '$1y' ],
[ RegExp( '(s)eries$', 'gi' ), '$1eries' ],
[ RegExp( '(x|ch|ss|sh)es$', 'gi' ), '$1' ],
[ RegExp( '([m|l])ice$', 'gi' ), '$1ouse' ],
[ RegExp( '(bus)es$', 'gi' ), '$1' ],
[ RegExp( '(o)es$', 'gi' ), '$1' ],
[ RegExp( '(shoe)s$', 'gi' ), '$1' ],
[ RegExp( '(cris|ax|test)es$', 'gi' ), '$1is' ],
[ RegExp( '(octop|vir)i$', 'gi' ), '$1us' ],
[ RegExp( '(alias|status)es$', 'gi' ), '$1' ],
[ RegExp( '^(ox)en', 'gi' ), '$1' ],
[ RegExp( '(vert|ind)ices$', 'gi' ), '$1ex' ],
[ RegExp( '(matr)ices$', 'gi' ), '$1ix' ],
[ RegExp( '(quiz)zes$', 'gi' ), '$1' ],
[ RegExp( 'ss$', 'gi' ), 'ss' ],
[ RegExp( 's$', 'gi' ), '' ],
],
// These are regular expressions used for converting between String formats
const ID_SUFFIX = Rxg('(_ids|_id)$'),
UNDERBAR = Rxg('_'),
SPACE_OR_UNDERBAR = Rxg('[\ _]');
// This is a list of words that should not be capitalized for title case
non_titlecased_words: [
'and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at',
'by', 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over',
'with', 'for'
],
/*
This is a helper method that applies rules based replacement to a String
Signature:
applyRules(str, rules, skip, override) == String
Arguments:
str - String - String to modify and return based on the passed rules
rules - Array: [RegExp, String] - Regexp to match paired with String to use for replacement
skip - Array: [String] - Strings to skip if they match
override - String (optional) - String to return as though this method succeeded (used to conform to APIs)
Returns:
String - passed String modified by passed rules
Examples:
applyRules("cows", SINGULAR_RULES) === 'cow'
*/
const applyRules = (str, rules, skip, override) => {
// These are regular expressions used for converting between String formats
id_suffix : RegExp('(_ids|_id)$', 'g'),
underbar : RegExp('_', 'g'),
space_or_underbar : RegExp('[\ _]', 'g'),
uppercase : RegExp('([A-Z])', 'g'),
underbar_prefix : RegExp('^_'),
spaces_or_underscores : /[\s_]+/g,
underscores : /_+/g,
if (override) {
str = override;
} else {
/*
This is a helper method that applies rules based replacement to a String
Signature:
InflectionJS.apply_rules(str, rules, skip, override) == String
Arguments:
str - String - String to modify and return based on the passed rules
rules - Array: [RegExp, String] - Regexp to match paired with String to use for replacement
skip - Array: [String] - Strings to skip if they match
override - String (optional) - String to return as though this method succeeded (used to conform to APIs)
Returns:
String - passed String modified by passed rules
Examples:
InflectionJS.apply_rules("cows", InflectionJs.singular_rules) === 'cow'
*/
apply_rules: function(str, rules, skip, override) {
let ignore = skip.includes(str.toLowerCase());
var ignore,
i,
j;
if (!ignore) {
if (override) {
str = override;
} else {
let i = 0,
j = rules.length;
ignore = (skip.indexOf(str.toLowerCase()) > -1);
if (!ignore) {
j = rules.length;
for (i = 0; i < j; i++) {
if (str.match(rules[i][0])){
if (rules[i][1] !== undefined) {
str = str.replace(rules[i][0], rules[i][1]);
}
break;
for (; i < j; i++) {
if (str.match(rules[i][0])){
if (rules[i][1] !== undefined) {
str = str.replace(rules[i][0], rules[i][1]);
}
break;
}
}
}
}
// Make sure we return a useable string
return '' + str;
}
// Make sure we return a useable string
return '' + str;
};
let S;
Blast.once('pre-extra-files', function getBoundString() {

@@ -220,8 +242,8 @@ S = Blast.Bound.String;

*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
*
* @param {Number} char_code
* @param {number} char_code
*/

@@ -235,8 +257,8 @@ function isUpper(char_code) {

*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
*
* @param {Number} char_code
* @param {number} char_code
*/

@@ -250,8 +272,8 @@ function isLower(char_code) {

*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
*
* @param {Number} char_code
* @param {number} char_code
*/

@@ -265,8 +287,8 @@ function isDigit(char_code) {

*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
*
* @param {Number} char_code
* @param {number} char_code
*/

@@ -280,8 +302,8 @@ function toUpper(char_code) {

*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
*
* @param {Number} char_code
* @param {number} char_code
*/

@@ -295,11 +317,9 @@ function toLower(char_code) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
* @version 0.9.0
*
* @param {Function} fnc
*/
function defString(fnc) {
return Blast.definePrototype('String', fnc);
}
const defString = Blast.createProtoDefiner('String');

@@ -309,15 +329,15 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @param {String} plural Overrides normal output with said String
* @param {string} plural Overrides normal output with said String
*
* @return {String} Singular English language nouns are returned in plural form
* @return {string} Singular English language nouns are returned in plural form
*/
defString(function pluralize(plural) {
return InflectionJS.apply_rules(
return applyRules(
this,
InflectionJS.plural_rules,
InflectionJS.uncountable_words,
PLURAL_RULES,
UNCOUNTABLE_WORDS,
plural

@@ -330,15 +350,15 @@ );

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.0.1
*
* @param {String} singular Overrides normal output with said String
* @param {string} singular Overrides normal output with said String
*
* @return {String} Plural English language nouns are returned in singular form
* @return {string} Plural English language nouns are returned in singular form
*/
defString(function singularize(singular) {
return InflectionJS.apply_rules(
return applyRules(
this,
InflectionJS.singular_rules,
InflectionJS.uncountable_words,
SINGULAR_RULES,
UNCOUNTABLE_WORDS,
singular

@@ -351,9 +371,9 @@ );

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.9
*
* @param {String} postfix The string to postfix to the name
* @param {string} postfix The string to postfix to the name
*
* @return {String}
* @return {string}
*/

@@ -385,3 +405,3 @@ defString(function modelName(postfix) {

if (S.endsWith(str, 'Model')) {
if (str.endsWith('Model')) {
str = str.slice(0, str.length-5);

@@ -401,117 +421,12 @@ }

/**
* Turn a string into a model name, with controller postfix
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
*/
defString(function modelClassName() {
var result;
if (Collection.String.prototype.endsWith.call(this, 'Model')) {
result = this.slice(0, this.length - 5);
} else {
result = this;
}
result = Collection.String.prototype.modelName.call(result);
return result + 'Model';
});
/**
* Turn a string into a controller name
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.0.1
* @version 0.1.4
*
* @param {String} postfix The string to postfix to the name
*
* @return {String}
*/
defString(function controllerName(postfix) {
var str = this,
underscores,
capitals,
lower;
lower = str.toLowerCase();
if (lower === 'app') return 'App';
else if (lower === 'static') return 'Static';
if (postfix === true) postfix = 'Controller';
capitals = !!S.capitals(str);
underscores = !!(str.indexOf('_') > -1);
// If there already are capitals, underscore the string
if (capitals) {
str = S.underscore(str);
underscores = true;
}
// If there still are underscores, or there are no capitals,
// we need to camelize the string
if (underscores || !capitals) {
str = S.camelize(str);
}
if (S.endsWith(str, 'Controller')) {
str = str.slice(0, str.length-10);
}
// Do not pluralize 'static'
if (!S.endsWith(str, 'Static')) {
str = S.pluralize(str);
}
// Append the postfix
if (postfix) {
str = S.postfix(str, postfix);
}
return str;
});
/**
* Turn a string into a controller name, with controller postfix
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.1.4
* @version 0.1.4
*
* @return {String}
*/
defString(function controllerClassName() {
var result;
if (Collection.String.prototype.endsWith.call(this, 'Controller')) {
result = this.slice(0, this.length - 10);
} else {
result = this;
}
result = Collection.String.prototype.controllerName.call(result);
return result + 'Controller';
});
/**
* Camelize a string
*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.7.26
*
* @param {Boolean} lower_first_letter The first char is lowercased if true
* @param {boolean} lower_first_letter The first char is lowercased if true
*
* @return {String}
* @return {string}
*/

@@ -565,10 +480,10 @@ defString(function camelize(lower_first_letter) {

*
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jacob Gillespie <jacobwgillespie@gmail.com>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.26
* @version 0.7.26
*
* @param {String} separator
* @param {string} separator
*
* @return {String}
* @return {string}
*/

@@ -622,7 +537,7 @@ defString(function decamelize(separator) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -704,9 +619,9 @@ defString(function underscore() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @param {Boolean} lowFirstLetter The first char is lowercased if true
* @param {boolean} lowFirstLetter The first char is lowercased if true
*
* @return {String}
* @return {string}
*/

@@ -719,3 +634,3 @@ defString(function humanize(lowFirstLetter) {

// Remove the trailing _id suffix
str = str.replace(InflectionJS.id_suffix, '');
str = str.replace(ID_SUFFIX, '');

@@ -727,3 +642,3 @@ // If the string is empty now, put it back

str = str.replace(InflectionJS.underbar, ' ').trim();
str = str.replace(UNDERBAR, ' ').trim();

@@ -740,7 +655,7 @@ if (!lowFirstLetter) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -761,11 +676,11 @@ defString(function capitalize() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
* @return {string}
*/
defString(function dasherize() {
var str = this;
str = str.replace(InflectionJS.space_or_underbar, '-');
str = str.replace(SPACE_OR_UNDERBAR, '-');
return str;

@@ -777,9 +692,9 @@ });

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.6
*
* @param {Boolean} alwaysCapitalize
* @param {boolean} alwaysCapitalize
*
* @return {String}
* @return {string}
*/

@@ -796,3 +711,3 @@ defString(function titleize(alwaysCapitalize) {

// Turn the underscores into spaces
str = str.replace(InflectionJS.underbar, ' ');
str = str.replace(UNDERBAR, ' ');

@@ -807,3 +722,3 @@ // Split the string

for (i = 0; i < d.length; i++) {
if (alwaysCapitalize === true || InflectionJS.non_titlecased_words.indexOf(d[i].toLowerCase()) < 0) {
if (alwaysCapitalize === true || NON_TITLECASED_WORDS.indexOf(d[i].toLowerCase()) < 0) {
d[i] = S.capitalize(d[i]);

@@ -823,29 +738,9 @@ }

/**
* Removes module names leaving only class names (Ruby style)
* Example: "Message::Bus::Properties".demodulize() == "Properties"
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
*/
defString(function demodulize() {
var str = this,
str_arr = str.split('::');
str = str_arr[str_arr.length - 1];
return str;
});
/**
* Renders strings into their underscored plural form
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -861,7 +756,7 @@ defString(function tableize() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -877,13 +772,12 @@ defString(function classify() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @param {Boolean} dropIdUbar Remove the underscore before the id postfix
* @param {boolean} dropIdUbar Remove the underscore before the id postfix
*
* @return {String}
* @return {string}
*/
defString(function foreign_key(dropIdUbar) {
var str = S.demodulize(this);
str = S.underscore(str);
let str = S.underscore(this);
str += ((dropIdUbar) ? ('') : ('_')) + 'id';

@@ -897,7 +791,7 @@ return str;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -942,27 +836,2 @@ defString(function ordinalize() {

return str;
});
/**
* De-pluginify a string
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.0.1
* @version 0.0.1
*
* @return {Boolean}
*/
defString(function deplugin(str) {
var s = this.split('.'),
any = false;
obj = {plugin: '', item: '', model: '', field: '', name: ''};
if (typeof s[1] != 'undefined') {
obj.plugin = obj.model = obj.name = s[0];
obj.item = obj.field = s[1];
} else {
obj.item = obj.field = s[0];
}
return obj;
});

@@ -5,3 +5,3 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -24,3 +24,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -65,7 +65,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.5
* @version 0.3.10
*
* @return {Boolean}
* @return {boolean}
*/

@@ -81,3 +81,3 @@ Informer.setStatic(function isInformer(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -87,3 +87,3 @@ * @version 0.4.0

* @param {Object|String} filter The event filter
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} method The method to set

@@ -104,6 +104,6 @@ *

// Get the names of the arguments of the method to set
args = Collection.Function.getArgumentNames(method);
args = Fn.getArgumentNames(method);
// Create the wrapper
wrapper = Collection.Function.create(key, args, function wrapper() {
wrapper = Fn.create(key, args, function wrapper() {

@@ -138,7 +138,7 @@ var that = this,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.5.0
*
* @param {String} key Name to use (defaults to method name)
* @param {string} key Name to use (defaults to method name)
* @param {Function} method The method to set

@@ -159,6 +159,6 @@ *

// Get the names of the arguments of the method to set
arg_names = Collection.Function.getArgumentNames(method);
arg_names = Fn.getArgumentNames(method);
// Create the wrapper
wrapper = Collection.Function.create(key, arg_names, function wrapper() {
wrapper = Fn.create(key, arg_names, function wrapper() {

@@ -237,3 +237,3 @@ var that = this,

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -280,7 +280,7 @@ * @version 0.1.8

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.4
*
* @param {String|Object} type
* @param {string|Object} type
* @param {Function} listener

@@ -348,7 +348,7 @@ * @param {Object} context

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8
* @version 0.6.1
*
* @param {String|Object} type
* @param {string|Object} type
* @param {Object} target

@@ -382,8 +382,8 @@ * @param {Object} context

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.4
*
* @param {String|Object} type
* @param {Number} times
* @param {string|Object} type
* @param {number} times
* @param {Function} listener

@@ -429,8 +429,8 @@ * @param {Object} context

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.8
*
* @param {String|Object} type
* @param {Number} times Infinite by default
* @param {string|Object} type
* @param {number} times Infinite by default
* @param {Function} listener

@@ -504,8 +504,8 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.4
*
* @param {String|Object} type
* @param {Number} times
* @param {string|Object} type
* @param {number} times
* @param {Function} listener

@@ -528,7 +528,7 @@ * @param {Object} context

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.4
*
* @param {String|Object} type
* @param {string|Object} type
* @param {Function} listenerToRemove

@@ -621,3 +621,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.6

@@ -653,7 +653,7 @@ * @version 0.7.6

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.7.6
*
* @param {String|Object} type
* @param {string|Object} type
*/

@@ -762,9 +762,9 @@ Informer.setMethod(function removeAllListeners(type) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.3.10
*
* @param {String|Object} type
* @param {string|Object} type
*
* @return {Boolean}
* @return {boolean}
*/

@@ -834,7 +834,7 @@ Informer.setMethod(function hasBeenSeen(type) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.0
* @version 0.3.10
*
* @param {String|Object} type
* @param {string|Object} type
*/

@@ -907,8 +907,8 @@ Informer.setMethod(function unsee(type) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.7.7
*
* @param {String|Object} type
* @param {Boolean} mark_as_seen
* @param {string|Object} type
* @param {boolean} mark_as_seen
*

@@ -1052,7 +1052,7 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.3
*
* @param {String|Object} type
* @param {string|Object} type
*

@@ -1068,7 +1068,7 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.8.15
*
* @param {String|Object} type
* @param {string|Object} type
*/

@@ -1228,3 +1228,3 @@ Informer.setMethod(function emit(type) {

// Blast.callNow instead of setImmediate)
Collection.Function.series(false, tasks, function seriesDone(err) {
Fn.series(false, tasks, function seriesDone(err) {

@@ -1246,3 +1246,3 @@ // Stop now when there is no callback

Collection.Function.parallel(false, subtasks, function parallelDone(subErr) {
Fn.parallel(false, subtasks, function parallelDone(subErr) {

@@ -1264,3 +1264,3 @@ if (err && subErr) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1298,3 +1298,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1310,7 +1310,7 @@ * @version 0.1.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.3
*
* @param {String|Object} type An object containing identifiers
* @param {string|Object} type An object containing identifiers
*/

@@ -1317,0 +1317,0 @@ Informer.setMethod(function emitOnce(type, data) {

@@ -35,7 +35,7 @@ module.exports = function BlastInitLoader(modifyPrototype) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.7.23
*
* @param {String} useragent The useragent string
* @param {string} useragent The useragent string
* @param {Object} navigator Optional navigator object

@@ -308,3 +308,3 @@ *

blastRequirer = require(__dirname + '/require.js')(Blast);
blastRequirer = require;

@@ -429,2 +429,4 @@ // Split the version

'Error',
'Placeholder',
'Trail',
'Informer',

@@ -455,2 +457,4 @@ 'State',

'WeakValueMap',
'WeakValueSet',
'WeakValueSetMap',
];

@@ -497,3 +501,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -504,3 +508,3 @@ * @version 0.1.3

* @param {Function} superConstructor The 'super' constructor
* @param {Boolean} setSuper Set super on constructor [TRUE]
* @param {boolean} setSuper Set super on constructor [TRUE]
*/

@@ -528,8 +532,8 @@ Blast.inherits = function inherits(constructor, superConstructor, setSuper) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.6.2
* @version 0.9.0
*
* @param {Object} target The object to add the property to
* @param {String} name The name of the property
* @param {string} name The name of the property
* @param {Object} value The value of the property

@@ -578,3 +582,3 @@ * @param {Object} descriptor Optional descriptor

}
return;
return value;
}

@@ -592,2 +596,4 @@

Object.defineProperty(target, name, descriptor);
return value;
}

@@ -605,3 +611,3 @@ });

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -611,3 +617,3 @@ * @version 0.1.3

* @param {Object} target The object to add the property to
* @param {String} name The name of the property
* @param {string} name The name of the property
* @param {Object} value The value of the property

@@ -635,3 +641,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -666,3 +672,3 @@ * @version 0.1.12

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -699,3 +705,3 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -705,6 +711,6 @@ * @version 0.6.3

* @param {Object} target The object to add the property to
* @param {String} name The name of the property
* @param {String} type get/set/value, defaults to value
* @param {string} name The name of the property
* @param {string} type get/set/value, defaults to value
* @param {Object} value The value of the property
* @param {Boolean} shim Only set value if it's not already there
* @param {boolean} shim Only set value if it's not already there
*/

@@ -828,3 +834,3 @@ Blast.definePrototype = function definePrototype(targetClass, name, type, value, shim) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.14

@@ -879,8 +885,8 @@ * @version 0.7.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.0
* @version 0.8.3
*
* @param {String|Function} target The object to add the property to
* @param {Boolean} force Force set it?
* @param {string|Function} target The object to add the property to
* @param {boolean} force Force set it?
*/

@@ -896,7 +902,7 @@ Blast.createStaticDefiner = function createStaticDefiner(target, force) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.0
* @version 0.8.0
*
* @param {String|Function} target The object to add the property to
* @param {string|Function} target The object to add the property to
*/

@@ -912,3 +918,3 @@ Blast.createProtoDefiner = function createProtoDefiner(target) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -918,6 +924,6 @@ * @version 0.8.3

* @param {Object} target The object to add the property to
* @param {String} name The name of the property
* @param {string} name The name of the property
* @param {Object} value The value of the property
* @param {Boolean} shim Only set value if it's not already there
* @param {Boolean} force Force-set it?
* @param {boolean} shim Only set value if it's not already there
* @param {boolean} force Force-set it?
*/

@@ -1012,7 +1018,8 @@ Blast.defineStatic = function defineStatic(targetClass, name, value, shim, force) {

var when_ready = [],
let when_ready = [],
when_loaded = [],
queued_meds = [],
queued_ticks = [],
did_initial_load = false;
did_initial_load = false,
temporarily_unready = false;

@@ -1024,3 +1031,3 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6

@@ -1055,3 +1062,3 @@ * @version 0.3.6

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5

@@ -1091,3 +1098,3 @@ * @version 0.7.9

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6

@@ -1104,3 +1111,3 @@ * @version 0.6.5

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6

@@ -1139,3 +1146,3 @@ * @version 0.6.5

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -1146,6 +1153,6 @@ * @version 0.3.6

*
* @return {Boolean} Returns if Protoblast is already ready
* @return {boolean} Returns if Protoblast is already ready
*/
Blast.ready = function ready(fnc) {
if (when_ready) {
if (when_ready || temporarily_unready) {

@@ -1170,3 +1177,3 @@ if (fnc) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.10

@@ -1177,6 +1184,6 @@ * @version 0.6.5

*
* @return {Boolean} Returns if Protoblast has already loaded
* @return {boolean} Returns if Protoblast has already loaded
*/
Blast.loaded = function loaded(fnc) {
if (!did_initial_load) {
if (!did_initial_load || temporarily_unready) {

@@ -1199,5 +1206,27 @@ if (fnc) {

/**
* Did the initial load already happen?
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @return {boolean}
*/
Blast.didInitialLoad = () => did_initial_load;
/**
* Are we currently in a manual loading cycle?
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @return {boolean}
*/
Blast.inLoadingCycle = () => temporarily_unready;
/**
* Force Protoblast into executing the when_loaded functions
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -1208,3 +1237,3 @@ * @version 0.6.5

if (!did_initial_load) {
if (!did_initial_load || temporarily_unready) {
Blast.loading = true;

@@ -1217,5 +1246,6 @@ }

if (!did_initial_load) {
if (!did_initial_load || temporarily_unready) {
Blast.loading = false;
did_initial_load = true;
temporarily_unready = false;
}

@@ -1235,3 +1265,3 @@ };

if (!did_initial_load) {
if (!did_initial_load || temporarily_unready) {
Blast.loaded(task);

@@ -1241,5 +1271,5 @@ return;

did_initial_load = false;
temporarily_unready = true;
Blast.loaded(task);
Blast.setImmediate(() => {

@@ -1253,11 +1283,24 @@ Blast.doLoaded();

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
* @version 0.9.0
*/
Blast.getArgumentConfiguration = function getArgumentConfiguration(name) {
var config;
let config;
if (typeof name == 'string') {
if (!name) {
config = {
names: ['Blast', 'Classes', 'Types', 'Collection', 'Bound', 'Obj', 'Fn'],
values: [
Blast,
Blast.Classes,
Blast.Types,
Blast.Collection,
Blast.Bound,
Blast.Bound.Object,
Blast.Collection.Function,
]
};
} else if (typeof name == 'string') {
config = Blast.arguments[name];

@@ -1278,3 +1321,3 @@ } else {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1309,3 +1352,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @version 0.7.25

@@ -1385,9 +1428,9 @@ *

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2
* @version 0.7.2
*
* @param {String} script
* @param {string} script
*
* @return {String}
* @return {string}
*/

@@ -1407,7 +1450,7 @@ function simpleScriptWrap(script) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.6.6
*
* @param {String} name
* @param {string} name
* @param {Object} options

@@ -1425,15 +1468,18 @@ */

/**
* Require a Protoblast module
* Require a Protoblast module.
* These will be loaded on the server-side and the client-side by default.
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.1
* @version 0.8.0
* @version 0.9.0
*
* @param {String} name
* @param {string} name
* @param {Object} options
*/
Blast.require = function _require(name, options) {
Blast.require = function require(name, options) {
if (!options) {
options = {};
} else {
options = {...options};
}

@@ -1451,4 +1497,2 @@

let index = extras.push(options) - 1;
if (options.pwd) {

@@ -1479,8 +1523,24 @@ if (!Array.isArray(name)) {

if (required[name]) {
return;
let previously_required_options = required[name];
if (previously_required_options) {
// Skip duplicates
if (options.client == previously_required_options.client && options.server == previously_required_options.server) {
return;
}
if (options.client && previously_required_options.client) {
options.client = false;
}
if (options.server && previously_required_options.server) {
options.server = false;
}
}
required[name] = true;
let index = extras.push(options) - 1;
required[name] = options;
//PROTOBLAST START CUT

@@ -1523,5 +1583,2 @@ let from_core = false;

}
// Make next require strict + look for exports
checkNextRequire(options);
//PROTOBLAST END CUT

@@ -1539,70 +1596,35 @@

if (Blast.isNode) {
Blast[Blast.ACTIVE_FILE] = options;
}
let exports;
// Get the exported function
let exported_fnc = blastRequirer(options.path || name),
args;
Blast[Blast.ACTIVE_FILE] = options;
if (options.arguments) {
args = Blast.getArgumentConfiguration(options.arguments).values;
if (Blast.isNode) {
exports = Blast.requireFileViaVm(options.path || name, options);
} else {
args = [
Blast,
Blast.Classes,
Blast.Types,
Collection,
Blast.Bound,
Blast.Bound.Object,
Collection.Function,
];
exports = blastRequirer(options.path || name, Blast.getArgumentConfiguration(options.arguments));
}
if (typeof exported_fnc != 'function') {
if (Blast.isNode) {
Blast[Blast.ACTIVE_FILE] = false;
}
throw new Error('Module "' + (options.path || name) + '" did not export a function');
}
Blast[Blast.ACTIVE_FILE] = null;
// Execute the exported function
let result = exported_fnc.apply(null, args);
return exports;
};
if (Blast.isNode) {
Blast[Blast.ACTIVE_FILE] = false;
}
const IS_NOT_EXTRA = {is_extra: false},
CLIENT_ONLY = {server: false},
SERVER_ONLY = {client: false};
if (result != null) {
return result;
}
//PROTOBLAST START CUT
if (blastRequirer.cache) {
// Try getting the actual exported module
let exported_module = require.cache[options.path || name];
if (!exported_module) {
return;
}
return exported_module.exports;
}
//PROTOBLAST END CUT
};
// Load the extra blast functions
Blast.require('blast', {is_extra: false});
Blast.require('blast', IS_NOT_EXTRA);
// Load the inheritance methods
Blast.require('function_inheritance', {is_extra: false});
Blast.require('function_inheritance', IS_NOT_EXTRA);
// Load the predefined decorators
Blast.require('function_decorators', {is_extra: false});
Blast.require('function_decorators', IS_NOT_EXTRA);
// Load the type system
Blast.require('function_signatures', {is_extra: false});
Blast.require('function_signatures', IS_NOT_EXTRA);
// Load the scheduler functions
Blast.require('setimmediate', {add_wrapper: false, is_extra: false});
Blast.require('setimmediate', IS_NOT_EXTRA);

@@ -1628,12 +1650,12 @@ // Require the scripts

Blast.require('string_entities', {add_wrapper: true, is_extra: false});
Blast.require('function_flow', {add_wrapper: true, is_extra: false});
Blast.require('inflections', {add_wrapper: true, is_extra: false});
Blast.require('date_format', {add_wrapper: true, is_extra: false});
Blast.require('diacritics', {add_wrapper: true, is_extra: false});
Blast.require('benchmark', {add_wrapper: true, is_extra: false});
Blast.require('sorting', {add_wrapper: true, is_extra: false});
Blast.require('string_entities', IS_NOT_EXTRA);
Blast.require('function_flow', IS_NOT_EXTRA);
Blast.require('inflections', IS_NOT_EXTRA);
Blast.require('date_format', IS_NOT_EXTRA);
Blast.require('diacritics', IS_NOT_EXTRA);
Blast.require('benchmark', IS_NOT_EXTRA);
Blast.require('sorting', IS_NOT_EXTRA);
Blast.require('browsershims', {add_wrapper: true, server: false});
Blast.require('request_browser', {add_wrapper: true, server: false});
Blast.require('browsershims', CLIENT_ONLY);
Blast.require('request_browser', CLIENT_ONLY);

@@ -1644,11 +1666,11 @@ Blast._fn_token_prepare();

if (Blast.isNode) {
Blast.require('request_agents', {add_wrapper: true, client: false});
Blast.require('request_server', {add_wrapper: true, client: false});
Blast.require('stream_ns', {client: false});
Blast.require('stream_delayed', {client: false});
Blast.require('stream_combined', {client: false});
Blast.require('form_data', {client: false});
Blast.require('request_agents', SERVER_ONLY);
Blast.require('request_server', SERVER_ONLY);
Blast.require('stream_ns', SERVER_ONLY);
Blast.require('stream_delayed', SERVER_ONLY);
Blast.require('stream_combined', SERVER_ONLY);
Blast.require('form_data', SERVER_ONLY);
}
Blast.require('request_events', {add_wrapper: true, client: true});
Blast.require('request_events', {client: true});

@@ -1681,7 +1703,4 @@ // Now create bound methods

var PrototypeFunction,
descriptor;
let descriptor = Object.getOwnPropertyDescriptor(StaticClass.prototype, name);
descriptor = Object.getOwnPropertyDescriptor(StaticClass.prototype, name);
if (!descriptor || !descriptor.value) {

@@ -1691,3 +1710,3 @@ return;

PrototypeFunction = descriptor.value;
let PrototypeFunction = descriptor.value;

@@ -1701,3 +1720,3 @@ if (typeof PrototypeFunction != 'function') {

// @version 0.3.7
if (Object.hasOwnProperty.call(StaticClass, name)) {
if (Object.hasOwn(StaticClass, name)) {
return;

@@ -1711,8 +1730,6 @@ }

if (Blast.isBrowser) {
client_extras.forEach(function eachExtra(entry) {
Blast.require(entry[0], {arguments: entry[1]});
});
client_extras.forEach(entry => Blast.require(entry[0], {arguments: entry[1]}));
}
for (var i = 0; i < when_ready.length; i++) {
for (let i = 0; i < when_ready.length; i++) {
when_ready[i]();

@@ -1719,0 +1736,0 @@ }

/**
* The Iterator class
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -22,3 +22,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.5

@@ -35,7 +35,7 @@ * @version 0.1.5

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @type {Number}
* @type {number}
*/

@@ -47,7 +47,7 @@ _iterNextIndex: 0,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @type {Boolean}
* @type {boolean}
*/

@@ -59,3 +59,3 @@ _iterSubjectIsArray: true,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -72,7 +72,7 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @return {Boolean}
* @return {boolean}
*/

@@ -86,3 +86,3 @@ Iterator.setMethod(function hasNext() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -119,3 +119,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -122,0 +122,0 @@ * @version 0.1.4

@@ -10,3 +10,3 @@ var Dry = require('json-dry');

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.6

@@ -16,3 +16,3 @@ * @version 0.3.8

* @param {Object} obj
* @param {String} custom_method Custom method to use if available
* @param {string} custom_method Custom method to use if available
* @param {Array} extra_args Extra arguments for the custom method

@@ -28,3 +28,3 @@ * @param {WeakMap} wm

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -37,3 +37,3 @@ * @version 0.3.3

*
* @return {String}
* @return {string}
*/

@@ -45,3 +45,3 @@ Blast.defineStatic('JSON', 'dry', Dry.stringify);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -60,7 +60,7 @@ * @version 0.4.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.10
* @version 0.1.10
*
* @param {String} constructor_name What constructor to listen to
* @param {string} constructor_name What constructor to listen to
* @param {Function} fnc

@@ -74,7 +74,7 @@ * @param {Object} options

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.10
* @version 0.1.10
*
* @param {String} constructor_name What constructor to listen to
* @param {string} constructor_name What constructor to listen to
* @param {Function} fnc

@@ -88,3 +88,3 @@ * @param {Object} options

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -100,3 +100,3 @@ * @version 0.3.6

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -126,3 +126,3 @@ * @version 0.7.9

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.2

@@ -129,0 +129,0 @@ * @version 0.4.2

@@ -15,3 +15,3 @@ const CONTAINER = Symbol('container'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -25,3 +25,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -35,3 +35,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -56,3 +56,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -68,3 +68,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -80,3 +80,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -92,3 +92,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -110,3 +110,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -141,3 +141,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -177,3 +177,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -193,3 +193,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -222,3 +222,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -252,3 +252,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -282,3 +282,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -295,3 +295,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -309,3 +309,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -323,3 +323,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -344,3 +344,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -367,3 +367,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -385,3 +385,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -398,3 +398,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -418,3 +418,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -434,3 +434,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -467,3 +467,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -500,3 +500,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -542,3 +542,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -562,3 +562,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -585,3 +585,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -607,3 +607,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -625,3 +625,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -638,3 +638,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -676,3 +676,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -692,3 +692,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -708,3 +708,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -737,3 +737,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -766,3 +766,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -782,3 +782,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -815,3 +815,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -861,3 +861,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -895,3 +895,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -942,3 +942,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -988,3 +988,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1006,3 +1006,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1024,3 +1024,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24

@@ -1044,3 +1044,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1056,3 +1056,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1068,3 +1068,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1080,3 +1080,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1105,3 +1105,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24

@@ -1115,3 +1115,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24

@@ -1131,3 +1131,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -1134,0 +1134,0 @@ * @version 0.8.16

@@ -29,13 +29,13 @@ const YEAR = Symbol('year'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} year The year (4 digits) or a string that can be parsed by `new Date()`
* @param {Number} month The month (1-12)
* @param {Number} day The day (1-31)
* @param {Number} hours The hours (0-23)
* @param {Number} minutes The minutes (0-59)
* @param {Number} seconds The seconds (0-59)
* @param {Number} milliseconds The milliseconds (0-999)
* @param {number} year The year (4 digits) or a string that can be parsed by `new Date()`
* @param {number} month The month (1-12)
* @param {number} day The day (1-31)
* @param {number} hours The hours (0-23)
* @param {number} minutes The minutes (0-59)
* @param {number} seconds The seconds (0-59)
* @param {number} milliseconds The milliseconds (0-999)
*/

@@ -47,3 +47,3 @@ const LocalDateTime = Fn.inherits('Develry.AbstractDateTime', 'LocalDateTime');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -96,3 +96,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -116,3 +116,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -136,3 +136,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -150,3 +150,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -164,3 +164,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -196,7 +196,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -220,13 +220,13 @@ LocalDateTime.setMethod(function toString() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} year The year (4 digits) or a string that can be parsed by `new Date()`
* @param {Number} month The month (1-12)
* @param {Number} day The day (1-31)
* @param {Number} hours The hours (0-23)
* @param {Number} minutes The minutes (0-59)
* @param {Number} seconds The seconds (0-59)
* @param {Number} milliseconds The milliseconds (0-999)
* @param {number} year The year (4 digits) or a string that can be parsed by `new Date()`
* @param {number} month The month (1-12)
* @param {number} day The day (1-31)
* @param {number} hours The hours (0-23)
* @param {number} minutes The minutes (0-59)
* @param {number} seconds The seconds (0-59)
* @param {number} milliseconds The milliseconds (0-999)
*/

@@ -240,7 +240,7 @@ const LocalDate = Fn.inherits('Develry.AbstractDateTime', function LocalDate(year, month, day) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} int_representation
* @param {number} int_representation
*

@@ -267,7 +267,7 @@ * @return {LocalDate}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -289,3 +289,3 @@ LocalDate.setMethod(function toNumericRepresentation() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -305,3 +305,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -321,3 +321,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -335,3 +335,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -349,3 +349,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -365,7 +365,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -386,10 +386,10 @@ LocalDate.setMethod(function toString() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} hours The hours (0-23) or a string
* @param {Number} minutes The minutes (0-59)
* @param {Number} seconds The seconds (0-59)
* @param {Number} milliseconds The milliseconds (0-999)
* @param {number} hours The hours (0-23) or a string
* @param {number} minutes The minutes (0-59)
* @param {number} seconds The seconds (0-59)
* @param {number} milliseconds The milliseconds (0-999)
*/

@@ -428,7 +428,7 @@ const LocalTime = Fn.inherits('Develry.AbstractDateTime', function LocalTime(hours = 0, minutes = 0, seconds = 0, milliseconds = 0) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} int_representation
* @param {number} int_representation
*

@@ -458,7 +458,7 @@ * @return {LocalTime}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -480,7 +480,7 @@ LocalTime.setMethod(function toNumericRepresentation() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -522,3 +522,3 @@ LocalTime.setMethod(function parseFromHourString(hours) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -539,3 +539,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -556,3 +556,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -570,3 +570,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -584,7 +584,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -604,7 +604,7 @@ LocalTime.setMethod(function valueOf() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -623,3 +623,3 @@ LocalTime.setMethod(function toString() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -637,3 +637,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -661,3 +661,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -684,3 +684,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -698,3 +698,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -721,7 +721,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -751,7 +751,7 @@ setDateMethod(function getCurrentDayOfYear() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -784,7 +784,7 @@ setDateMethod(function getWeekOfYear() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -816,3 +816,3 @@ setDateMethod(function getWeek() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -833,3 +833,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -845,7 +845,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -868,7 +868,7 @@ setDateMethod(function getWeekDay() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} week_day
* @param {number} week_day
*/

@@ -890,7 +890,7 @@ setDateMethod(function setWeekDay(week_day) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -904,7 +904,7 @@ setDateMethod(function getYear() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_year
* @param {number} new_year
*/

@@ -925,7 +925,7 @@ setDateMethod(function setYear(new_year) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Boolean}
* @return {boolean}
*/

@@ -940,7 +940,7 @@ setDateMethod(function isLeapYear() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -954,7 +954,7 @@ setDateMethod(function getMonth() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_month
* @param {number} new_month
*/

@@ -980,7 +980,7 @@ setDateMethod(function setMonth(new_month) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -1001,7 +1001,7 @@ setDateMethod(function getDayOfWeek() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -1015,7 +1015,7 @@ setDateMethod(function getDay() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_day
* @param {number} new_day
*/

@@ -1041,3 +1041,3 @@ setDateMethod(function setDay(new_day) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1082,3 +1082,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1097,3 +1097,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1112,3 +1112,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1140,3 +1140,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1168,3 +1168,3 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14

@@ -1197,7 +1197,7 @@ * @version 0.8.14

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -1211,7 +1211,7 @@ setTimeMethod(function getHours() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_hours
* @param {number} new_hours
*/

@@ -1231,7 +1231,7 @@ setTimeMethod(function setHours(new_hours) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -1245,7 +1245,7 @@ setTimeMethod(function getMinutes() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_minutes
* @param {number} new_minutes
*/

@@ -1265,7 +1265,7 @@ setTimeMethod(function setMinutes(new_minutes) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -1279,7 +1279,7 @@ setTimeMethod(function getSeconds() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_seconds
* @param {number} new_seconds
*/

@@ -1299,7 +1299,7 @@ setTimeMethod(function setSeconds(new_seconds) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {Number}
* @return {number}
*/

@@ -1313,7 +1313,7 @@ setTimeMethod(function getMilliseconds() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @param {Number} new_ms
* @param {number} new_ms
*/

@@ -1320,0 +1320,0 @@ setTimeMethod(function setMilliseconds(new_ms) {

@@ -5,7 +5,7 @@ /**

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @param {Number} capacity
* @param {number} capacity
*/

@@ -37,3 +37,3 @@ class LruCache {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1

@@ -49,7 +49,7 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @param {String} key
* @param {string} key
*/

@@ -76,7 +76,7 @@ get(key) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @param {String} key
* @param {string} key
* @param {Mixed} value

@@ -109,7 +109,7 @@ */

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @param {String} key
* @param {string} key
*/

@@ -143,7 +143,7 @@ remove(key) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @param {String} key
* @param {string} key
* @param {Mixed} value

@@ -161,3 +161,3 @@ */

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24

@@ -164,0 +164,0 @@ * @version 0.7.24

/**
* The Magic Class
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.6.6
*/
const Magic = Bound.Function.inherits(function Magic() {});
const Magic = Fn.inherits(function Magic() {});

@@ -13,5 +13,5 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.8.18
* @version 0.9.0
*

@@ -28,3 +28,3 @@ * @param {Function} fnc

Blast.defineGet(fnc, 'super', function getSuper() {
return result.wrapper.super;
return result.super || result.wrapper?.super;
});

@@ -38,7 +38,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.6.6
*
* @param {String} name
* @param {string} name
*/

@@ -52,7 +52,7 @@ Magic.setMethod(function __get(name) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.6.6
*
* @param {String} name
* @param {string} name
* @param {Mixed} value

@@ -67,3 +67,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6

@@ -70,0 +70,0 @@ * @version 0.6.6

/**
* Revive a map
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -19,3 +19,3 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -31,7 +31,7 @@ * @version 0.7.20

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @return {Number}
* @return {number}
*/

@@ -38,0 +38,0 @@ Blast.definePrototype('Map', Blast.sizeofSymbol, function calculateSizeof() {

@@ -1,2 +0,5 @@

const defStat = Blast.createStaticDefiner('Math');
const defStat = Blast.createStaticDefiner('Math'),
Arr = Bound.Array,
isArray = (input) => Array.isArray(input),
BMath = Bound.Math;

@@ -6,7 +9,7 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} amount
* @param {number} amount
*

@@ -25,3 +28,3 @@ * @return {Array}

// Sort it from low to high
Collection.Array.prototype.flashsort.call(numbers);
Arr.flashsort(numbers);

@@ -35,7 +38,7 @@ // Return the wanted amount of values

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @param {Number} amount
* @param {number} amount
*

@@ -54,3 +57,3 @@ * @return {Array}

// Sort it from low to high
Collection.Array.prototype.flashsort.call(numbers);
Arr.flashsort(numbers);

@@ -66,3 +69,3 @@ // Return the wanted amount of values

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -72,4 +75,4 @@ * @version 0.1.3

* @param {Array} numbers The array of numbers
* @param {Number} lowest The lowest allowed value
* @param {Number} highest The highest allowed value
* @param {number} lowest The lowest allowed value
* @param {number} highest The highest allowed value
*

@@ -79,3 +82,3 @@ * @return {Array}

defStat(function clip(numbers, lowest, highest) {
return Bound.Array.clip(numbers.slice(0), lowest, highest);
return Arr.clip(numbers.slice(0), lowest, highest);
});

@@ -86,7 +89,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @return {Number}
* @return {number}
*/

@@ -99,3 +102,3 @@ defStat(function sum(arr) {

if (Array.isArray(arr)) {
if (isArray(arr)) {
numbers = arr;

@@ -120,7 +123,7 @@ } else {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @return {Number}
* @return {number}
*/

@@ -132,3 +135,3 @@ defStat(function mean(arr) {

if (Array.isArray(arr)) {
if (isArray(arr)) {
numbers = arr;

@@ -141,3 +144,3 @@ } else {

return Bound.Math.sum(numbers) / numbers.length;
return BMath.sum(numbers) / numbers.length;
});

@@ -150,3 +153,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -167,3 +170,3 @@ * @version 0.1.3

if (Array.isArray(arr)) {
if (isArray(arr)) {
numbers = arr;

@@ -178,4 +181,4 @@ } else {

deviations = Bound.Math.deviation(numbers);
dev = Bound.Math.standardDeviation(numbers);
deviations = BMath.deviation(numbers);
dev = BMath.standardDeviation(numbers);
length = deviations.length;

@@ -193,3 +196,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -199,5 +202,5 @@ * @version 0.1.3

* @param {Array} arr
* @param {Boolean} _bias
* @param {boolean} _bias
*
* @return {Number}
* @return {number}
*/

@@ -214,3 +217,3 @@ defStat(function variance(arr, _bias) {

if (Array.isArray(arr)) {
if (isArray(arr)) {
if (_bias) bias = 1;

@@ -225,3 +228,3 @@ numbers = arr;

length = numbers.length;
deviations = Bound.Math.deviation(numbers);
deviations = BMath.deviation(numbers);

@@ -238,3 +241,3 @@ for (i = 0; i < length; i++) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -246,3 +249,3 @@ * @version 0.1.3

*
* @return {Number}
* @return {number}
*/

@@ -258,4 +261,4 @@ defStat(function covariance(arrA, arrB) {

total = 0;
meanA = Bound.Math.mean(arrA);
meanB = Bound.Math.mean(arrB);
meanA = BMath.mean(arrA);
meanB = BMath.mean(arrB);
length = arrA.length;

@@ -274,3 +277,3 @@

* @author Matt West <matt.west@kojilabs.com>
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -282,3 +285,3 @@ * @version 0.1.3

*
* @return {Number}
* @return {number}
*/

@@ -324,3 +327,3 @@ defStat(function pearson(arrX, arrY) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -332,3 +335,3 @@ * @version 0.1.3

*
* @return {Number}
* @return {number}
*/

@@ -350,4 +353,4 @@ defStat(function spearman(arrX, arrY) {

sortX = Collection.Array.prototype.flashsort.call(arrX.slice(0, min));
sortY = Collection.Array.prototype.flashsort.call(arrY.slice(0, min));
sortX = Arr.flashsort(arrX.slice(0, min));
sortY = Arr.flashsort(arrY.slice(0, min));

@@ -371,3 +374,3 @@ for (i = 0; i < min; i++) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -388,3 +391,3 @@ * @version 0.1.3

if (Array.isArray(arr)) {
if (isArray(arr)) {
numbers = arr;

@@ -398,3 +401,3 @@ } else {

length = numbers.length;
mean = Bound.Math.mean(numbers);
mean = BMath.mean(numbers);
dev = new Array(length);

@@ -412,3 +415,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -418,6 +421,6 @@ * @version 0.1.3

* @param {Array} arr An array of numbers
* @param {Boolean} _bias Defaults to true
* @param {Boolean} relative Return a percentage?
* @param {boolean} _bias Defaults to true
* @param {boolean} relative Return a percentage?
*
* @return {Number}
* @return {number}
*/

@@ -430,3 +433,3 @@ defStat(function standardDeviation(arr, _bias, relative) {

if (Array.isArray(arr)) {
if (isArray(arr)) {
numbers = arr;

@@ -448,6 +451,6 @@ if (typeof _bias == 'undefined') {

// Now return the mean value of that list, which is the variance
dev = Math.sqrt(Bound.Math.variance(numbers, bias));
dev = Math.sqrt(BMath.variance(numbers, bias));
if (relative) {
dev = (dev / Bound.Math.mean(numbers)) * 100;
dev = (dev / BMath.mean(numbers)) * 100;
}

@@ -461,7 +464,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.3
*
* @return {Number}
* @return {number}
*/

@@ -475,3 +478,3 @@ defStat(function median(arr) {

if (Array.isArray(arr)) {
if (isArray(arr)) {
numbers = arr.slice();

@@ -502,12 +505,12 @@ len = numbers.length;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} t current time
* @param {Number} b start value
* @param {Number} c change in value
* @param {Number} d duration
* @param {number} t current time
* @param {number} b start value
* @param {number} c change in value
* @param {number} d duration
*
* @return {Number}
* @return {number}
*/

@@ -522,12 +525,12 @@ defStat(function easeInQuad(t, b, c, d) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} t current time
* @param {Number} b start value
* @param {Number} c change in value
* @param {Number} d duration
* @param {number} t current time
* @param {number} b start value
* @param {number} c change in value
* @param {number} d duration
*
* @return {Number}
* @return {number}
*/

@@ -542,12 +545,12 @@ defStat(function easeOutQuad(t, b, c, d) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {Number} t current time
* @param {Number} b start value
* @param {Number} c change in value
* @param {Number} d duration
* @param {number} t current time
* @param {number} b start value
* @param {number} c change in value
* @param {number} d duration
*
* @return {Number}
* @return {number}
*/

@@ -564,12 +567,12 @@ defStat(function easeInOutQuad(t, b, c, d) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} t current time
* @param {Number} b start value
* @param {Number} c change in value
* @param {Number} d duration
* @param {number} t current time
* @param {number} b start value
* @param {number} c change in value
* @param {number} d duration
*
* @return {Number}
* @return {number}
*/

@@ -584,12 +587,12 @@ defStat(function easeInQuart(t, b, c, d) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} t current time
* @param {Number} b start value
* @param {Number} c change in value
* @param {Number} d duration
* @param {number} t current time
* @param {number} b start value
* @param {number} c change in value
* @param {number} d duration
*
* @return {Number}
* @return {number}
*/

@@ -606,12 +609,12 @@ defStat(function easeOutQuart(t, b, c, d) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} t current time
* @param {Number} b start value
* @param {Number} c change in value
* @param {Number} d duration
* @param {number} t current time
* @param {number} b start value
* @param {number} c change in value
* @param {number} d duration
*
* @return {Number}
* @return {number}
*/

@@ -628,16 +631,16 @@ defStat(function easeInOutQuart(t, b, c, d) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.5
* @version 0.1.5
*
* @param {Number} a1
* @param {Number} b1
* @param {Number} a2
* @param {Number} b2
* @param {number} a1
* @param {number} b1
* @param {number} a2
* @param {number} b2
*
* @return {Boolean}
* @return {boolean}
*/
defStat(function overlaps(a1, b1, a2, b2) {
if (Array.isArray(a1)) {
if (isArray(a1)) {
b2 = b1[1];

@@ -655,3 +658,3 @@ a2 = b1[0];

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -662,3 +665,3 @@ * @version 0.1.8

* @param {Number|Function} alpha The alpha smoothing value [0.15]
* @param {Number} first The first value to use [input[0]]
* @param {number} first The first value to use [input[0]]
*

@@ -711,3 +714,3 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -717,3 +720,3 @@ * @version 0.1.8

* @param {Array} input The input array of numbers
* @param {Number} newlength The new length of the array
* @param {number} newlength The new length of the array
*

@@ -752,3 +755,3 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.8

@@ -759,3 +762,3 @@ * @version 0.1.8

* @param {Array} dates The dates to which the values match
* @param {String} unit The unit of time to plot to [day]
* @param {string} unit The unit of time to plot to [day]
*

@@ -851,3 +854,3 @@ * @return {Object} Object containing `dates` and `values`

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.1

@@ -857,3 +860,3 @@ * @version 0.3.8

* @param {Array} arr The input array
* @param {Boolean} clip Clip outliers to highest or lowest value
* @param {boolean} clip Clip outliers to highest or lowest value
*

@@ -943,7 +946,7 @@ * @return {Array}

*
* @param {String} type The type of adjustment
* @param {Number} value The number
* @param {string} type The type of adjustment
* @param {number} value The number
* @param {Integer} exp The exponent (the 10 logarithm of the adjustment base)
*
* @return {Number} The adjusted value.
* @return {number} The adjusted value.
*/

@@ -972,10 +975,10 @@ function decimalAdjust(type, value, exp) {

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.3.6
*
* @param {Number} value
* @param {Number} exp
* @param {number} value
* @param {number} exp
*
* @return {Number}
* @return {number}
*/

@@ -989,10 +992,10 @@ defStat(function round10(value, exp) {

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.3.6
*
* @param {Number} value
* @param {Number} exp
* @param {number} value
* @param {number} exp
*
* @return {Number}
* @return {number}
*/

@@ -1006,10 +1009,10 @@ defStat(function floor10(value, exp) {

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.3.6
*
* @param {Number} value
* @param {Number} exp
* @param {number} value
* @param {number} exp
*
* @return {Number}
* @return {number}
*/

@@ -1023,9 +1026,9 @@ defStat(function ceil10(value, exp) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @param {Number} degrees
* @param {number} degrees
*
* @return {Number}
* @return {number}
*/

@@ -1039,12 +1042,12 @@ defStat(function degreesToRadians(degrees) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @param {Number} lat1
* @param {Number} lon1
* @param {Number} lat2
* @param {Number} lon2
* @param {number} lat1
* @param {number} lon1
* @param {number} lat2
* @param {number} lon2
*
* @return {Number} The distance in meters
* @return {number} The distance in meters
*/

@@ -1060,6 +1063,6 @@ defStat(function calculateDistance(lat1, lon1, lat2, lon2) {

rad_lat1 = Collection.Math.degreesToRadians(lat1);
rad_lat2 = Collection.Math.degreesToRadians(lat2);
d_lat = Collection.Math.degreesToRadians(lat2 - lat1);
d_lon = Collection.Math.degreesToRadians(lon2 - lon1);
rad_lat1 = BMath.degreesToRadians(lat1);
rad_lat2 = BMath.degreesToRadians(lat2);
d_lat = BMath.degreesToRadians(lat2 - lat1);
d_lon = BMath.degreesToRadians(lon2 - lon1);

@@ -1077,7 +1080,7 @@ a = Math.pow(Math.sin(d_lat / 2), 2) + Math.cos(rad_lat1) * Math.cos(rad_lat2) * Math.pow(Math.sin(d_lon / 2), 2);

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @param {Number} seed
* @param {number} seed
*

@@ -1087,3 +1090,3 @@ * @return {SeededRng}

defStat(function createSeededRng(seed) {
return new Blast.Classes.SeededRng(seed);
return new Classes.SeededRng(seed);
});

@@ -11,10 +11,10 @@ const defStat = Blast.createStaticDefiner('Number'),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {Number} min Optional minimum number (0 by default)
* @param {Number} max Optional maximum number (100 by default)
* @param {number} min Optional minimum number (0 by default)
* @param {number} max Optional maximum number (100 by default)
*
* @return {Number}
* @return {number}
*/

@@ -42,11 +42,11 @@ defStat(function random(min, max) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.3
*
* @param {Number} value The value to clip
* @param {Number} lowest The lowest allowed value
* @param {Number} highest The highest allowed value
* @param {number} value The value to clip
* @param {number} lowest The lowest allowed value
* @param {number} highest The highest allowed value
*
* @return {Number}
* @return {number}
*/

@@ -73,3 +73,3 @@ defStat(function clip(value, lowest, highest) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.1

@@ -95,3 +95,3 @@ * @version 0.3.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.1

@@ -124,3 +124,3 @@ * @version 0.3.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.1

@@ -149,3 +149,3 @@ * @version 0.3.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.8

@@ -156,3 +156,3 @@ * @version 0.3.8

*
* @return {Boolean}
* @return {boolean}
*/

@@ -172,10 +172,10 @@ defStat(function isNumeric(input) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.5
*
* @param {Number} length The minimum length for the result
* @param {Number} radix The radix for the string representation
* @param {number} length The minimum length for the result
* @param {number} radix The radix for the string representation
*
* @return {String} The number as a string with padded zeroes
* @return {string} The number as a string with padded zeroes
*/

@@ -190,10 +190,10 @@ defProto(function toPaddedString(length, radix) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
*
* @param {String} delimiter
* @param {String} separator
* @param {string} delimiter
* @param {string} separator
*
* @return {String}
* @return {string}
*/

@@ -213,10 +213,10 @@ defProto(function humanize(delimiter, separator) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.1.3
*
* @param {Number} lowest The lowest allowed value
* @param {Number} highest The highest allowed value
* @param {number} lowest The lowest allowed value
* @param {number} highest The highest allowed value
*
* @return {Number}
* @return {number}
*/

@@ -230,11 +230,11 @@ defProto(function clip(lowest, highest) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.9
* @version 0.1.9
*
* @param {String} from From which unit (bytes by default)
* @param {String} to To which unit
* @param {Number} decimal toFixed value (1 by default)
* @param {string} from From which unit (bytes by default)
* @param {string} to To which unit
* @param {number} decimal toFixed value (1 by default)
*
* @return {Number}
* @return {number}
*/

@@ -307,9 +307,9 @@ defProto(function toByte(from, to, decimal) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.0
* @version 0.3.0
*
* @param {Number} position Which bit to get
* @param {number} position Which bit to get
*
* @return {Number}
* @return {number}
*/

@@ -323,9 +323,9 @@ defProto(function bitAt(position) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.3.6
*
* @param {Number} precision
* @param {number} precision
*
* @return {String}
* @return {string}
*/

@@ -339,11 +339,11 @@ defProto(function toFixed10(precision) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.6
* @version 0.3.6
*
* @param {Number} decimal_count
* @param {String} decimal_separator
* @param {String} thousand_separator
* @param {number} decimal_count
* @param {string} decimal_separator
* @param {string} thousand_separator
*
* @return {String}
* @return {string}
*/

@@ -350,0 +350,0 @@ defProto(function formatMoney(decimal_count, decimal_separator, thousand_separator) {

@@ -1,2 +0,4 @@

const defStat = Blast.createStaticDefiner('Object');
const defStat = Blast.createStaticDefiner('Object'),
Str = Bound.String,
Arr = Bound.Array;

@@ -9,3 +11,3 @@ let libcrypto;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -15,3 +17,3 @@ * @version 0.2.0

* @param {Object} target
* @param {String} key
* @param {string} key
*

@@ -49,3 +51,3 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -56,3 +58,3 @@ * @version 0.5.0

*
* @return {Boolean}
* @return {boolean}
*/

@@ -66,3 +68,3 @@ defStat(function isObject(obj) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.5

@@ -73,3 +75,3 @@ * @version 0.7.5

*
* @return {Boolean}
* @return {boolean}
*/

@@ -84,3 +86,3 @@ defStat(function isIterable(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -91,3 +93,3 @@ * @version 0.5.0

*
* @return {Boolean}
* @return {boolean}
*/

@@ -101,3 +103,3 @@ defStat(function isPlainObject(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -108,3 +110,3 @@ * @version 0.1.8

*
* @return {Boolean}
* @return {boolean}
*/

@@ -141,3 +143,3 @@ defStat(function isPrimitiveObject(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -148,3 +150,3 @@ * @version 0.8.14

*
* @return {Boolean}
* @return {boolean}
*/

@@ -165,3 +167,3 @@ defStat(function isPrimitive(arg) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -172,3 +174,3 @@ * @version 0.5.7

*
* @return {String}
* @return {string}
*/

@@ -201,3 +203,3 @@ defStat(function stringifyPrimitive(arg) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -207,5 +209,5 @@ * @version 0.3.6

* @param {Object} obj
* @param {Boolean} includeUndefined True by default (faster)
* @param {boolean} includeUndefined True by default (faster)
*
* @return {Number}
* @return {number}
*/

@@ -279,3 +281,3 @@ defStat(function size(obj, includeUndefined) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -286,3 +288,3 @@ * @version 0.6.0

*
* @return {Number}
* @return {number}
*/

@@ -296,3 +298,3 @@ defStat(function sizeof(input) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -304,3 +306,3 @@ * @version 0.6.0

*
* @return {Number}
* @return {number}
*/

@@ -332,5 +334,5 @@ function calculate_sizeof(input, weak_map) {

if (typeof input[Blast.sizeofSymbol] == 'function') {
if (typeof input[SIZEOF] == 'function') {
try {
return input[Blast.sizeofSymbol]();
return input[SIZEOF]();
} catch (err) {

@@ -352,3 +354,3 @@ // Continue;

// Skip properties coming from the prototype
if (!Object.hasOwnProperty.call(input, key)) {
if (!Object.hasOwn(input, key)) {
continue;

@@ -374,16 +376,55 @@ }

/**
* Symbol for aggregating array results
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @type {symbol}
*/
const PATH_AGGREGATE = Blast.defineValue(Blast, 'PATH_AGGREGATE', Symbol('PATH_AGGREGATE'));
/**
* Create the symbol for the sizeof method
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @type {Symbol}
* @type {symbol}
*/
Blast.defineStatic(Blast, 'sizeofSymbol', Symbol('sizeof'));
const SIZEOF = Blast.defineValue(Blast, 'sizeofSymbol', Symbol('sizeof'));
/**
* Create the alike comparer symbol
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.11
* @version 0.5.11
*
* @type {symbol}
*/
const ALIKE = Blast.defineValue(Blast, 'alikeSymbol', Symbol('alike'));
/**
* Create the checksum symbol
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5
* @version 0.6.5
*
* @type {symbol}
*/
const CHECKSUM = Blast.defineValue(Blast, 'checksumSymbol', Symbol('toChecksum'));
// Set it on some objects
Blast[CHECKSUM] = 'Protoblast';
Blast.Bound[CHECKSUM] = 'Blast.Bound';
Blast.Classes[CHECKSUM] = 'Blast.Classes';
Blast.Collection[CHECKSUM] = 'Blast.Collection';
/**
* Flatten an object
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -393,4 +434,4 @@ * @version 0.5.8

* @param {Object} obj The object to flatten
* @param {String|Array} divider The divider to use (.)
* @param {Boolean} flatten_arrays (true)
* @param {string|Array} divider The divider to use (.)
* @param {boolean} flatten_arrays (true)
*

@@ -406,3 +447,3 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -412,5 +453,5 @@ * @version 0.5.8

* @param {Object} obj The object to flatten
* @param {String|Array} divider The divider to use (.)
* @param {Number} level
* @param {Boolean} flatten_arrays (true)
* @param {string|Array} divider The divider to use (.)
* @param {number} level
* @param {boolean} flatten_arrays (true)
*

@@ -497,3 +538,3 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -531,3 +572,3 @@ * @version 0.5.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -545,3 +586,3 @@ * @version 0.2.1

if (Collection.Array.likeArray(obj)) {
if (Arr.likeArray(obj)) {
for (key = 0; key < obj.length; key++) {

@@ -568,7 +609,7 @@ list[list.length] = {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.1
* @version 0.4.1
*
* @param {String} path The dot notation path
* @param {string} path The dot notation path
*

@@ -590,15 +631,12 @@ * @return {Array}

// Aggregate array results
Blast.PATH_AGGREGATE = Symbol('PATH_AGGREGATE');
/**
* Get the value of the given property path
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.6.3
*
* @param {Symbol} flag
* @param {symbol} flag
* @param {Object} obj
* @param {String} path_string The dot notation path
* @param {string} path_string The dot notation path
*

@@ -651,3 +689,3 @@ * @return {Mixed}

if (flag == Blast.PATH_AGGREGATE) {
if (flag == PATH_AGGREGATE) {
for (i = 0; i < pieces.length; i++) {

@@ -692,3 +730,3 @@ piece = pieces[i];

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -754,3 +792,3 @@ * @version 0.5.7

if (!allow_prototype && !Object.hasOwnProperty.call(here, key)) {
if (!allow_prototype && !Object.hasOwn(here, key)) {
return obj;

@@ -768,3 +806,3 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -775,3 +813,3 @@ * @version 0.5.7

*
* @return {Number}
* @return {number}
*/

@@ -806,17 +844,2 @@ defStat(function getNextIndex(obj) {

/**
* Get the value of the given property path (in the form format)
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.1.11
* @version 0.5.9
*
* @param {Object} obj
* @param {String} form_path The form notation path
*/
defStat(function formPath(obj, form_path) {
var path = Blast.Classes.RURL.parseFormPath(form_path);
return Collection.Object.path(obj, path);
});
/**
* Create a path in an object.

@@ -826,9 +849,9 @@ * Example: my[special][object] would create an object like

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.11
* @version 0.5.9
* @version 0.9.0
*/
defStat(function setFormPath(obj, form_path, value, skipLastEntry) {
var path = Blast.Classes.RURL.parseFormPath(form_path);
return Collection.Object.setPath(obj, path, value, skipLastEntry);
let path = Classes.RURL.parseFormPath(form_path);
return Obj.setPath(obj, path, value, skipLastEntry);
});

@@ -840,3 +863,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -846,5 +869,5 @@ * @version 0.4.1

* @param {Object} obj
* @param {String} path The dot notation path
* @param {string} path The dot notation path
*
* @return {Boolean}
* @return {boolean}
*/

@@ -877,3 +900,3 @@ defStat(function exists(obj, path) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -883,5 +906,5 @@ * @version 0.5.0

* @param {Object} obj
* @param {Boolean} include_prototype If true, prototypal properties also count
* @param {boolean} include_prototype If true, prototypal properties also count
*
* @return {Boolean}
* @return {boolean}
*/

@@ -901,3 +924,3 @@ defStat(function isEmpty(obj, include_prototype) {

*
* @author Jelle De Loecker <jelle@kipdola.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -946,3 +969,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7

@@ -953,3 +976,3 @@ * @version 0.3.7

*
* @returns {Boolean}
* @returns {boolean}
*/

@@ -985,3 +1008,3 @@ defStat(function isSelfContained(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.9

@@ -1021,3 +1044,3 @@ * @version 0.5.1

if (!target[key]) {
if (Collection.Object.isSelfContained(extension[key])) {
if (Obj.isSelfContained(extension[key])) {
// Null, primitives, dates, ...

@@ -1031,3 +1054,3 @@ target[key] = extension[key];

} else if (target.hasOwnProperty == null || target.hasOwnProperty(key)) {
if (Collection.Object.isSelfContained(extension[key])) {
if (Obj.isSelfContained(extension[key])) {
target[key] = extension[key];

@@ -1052,3 +1075,3 @@ } else {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -1058,3 +1081,3 @@ * @version 0.1.2

* @param {Mixed} source
* @param {Boolean} recursive
* @param {boolean} recursive
* @param {Mixed} value

@@ -1077,3 +1100,3 @@ *

// Convert object form of primitives to their primitive states
if (Collection.Object.isPrimitiveObject(source)) {
if (Obj.isPrimitiveObject(source)) {
source = source.valueOf();

@@ -1093,3 +1116,3 @@ }

}
} else if (Collection.Object.isObject(source)) {
} else if (Obj.isObject(source)) {
Object.assign(result, source);

@@ -1110,3 +1133,3 @@ } else {

if (type == 'object') {
result[key] = Collection.Object.objectify(result[key], true, value);
result[key] = Obj.objectify(result[key], true, value);
}

@@ -1121,3 +1144,3 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -1131,13 +1154,7 @@ * @version 0.7.0

var key;
let key;
for (key in obj) {
if (Symbol.polyfilled && Symbol.isSymbol(key)) {
continue;
}
fnc(obj[key], key, obj);
}
});

@@ -1148,3 +1165,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.6

@@ -1155,3 +1172,3 @@ * @version 0.7.0

* @param {Function} fnc The function to perform on every entry
* @param {Number} limit Optional recursive limit
* @param {number} limit Optional recursive limit
* @param {Array} seen Array to keep track of items already seen

@@ -1186,10 +1203,6 @@ */

if (!Object.hasOwnProperty.call(obj, key)) {
if (!Object.hasOwn(obj, key)) {
continue;
}
if (Symbol.polyfilled && Symbol.isSymbol(key)) {
continue;
}
// Fire the function

@@ -1240,3 +1253,3 @@ if (fnc != null) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -1255,3 +1268,3 @@ * @version 0.1.3

Collection.Object.each(obj, function mapEach(value, key) {
Obj.each(obj, function mapEach(value, key) {

@@ -1273,3 +1286,3 @@ if (isFunction) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1302,3 +1315,3 @@ * @version 0.1.3

} else {
Collection.Object.each(obj, mapEach);
Obj.each(obj, mapEach);
}

@@ -1313,3 +1326,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -1321,3 +1334,3 @@ * @version 0.1.0

*
* @return {String|Number|Boolean}
* @return {string|Number|boolean}
*/

@@ -1351,3 +1364,3 @@ defStat(function getValueKey(target, value) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -1357,5 +1370,5 @@ * @version 0.1.6

* @param {Object|Array} target The object to search in
* @param {String} property The key to look for
* @param {string} property The key to look for
*
* @return {Boolean}
* @return {boolean}
*/

@@ -1374,3 +1387,3 @@ defStat(function hasProperty(target, property) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0

@@ -1382,29 +1395,12 @@ * @version 0.1.0

*
* @return {Boolean}
* @return {boolean}
*/
defStat(function hasValue(target, value) {
return !(Collection.Object.getValueKey(target, value) === false);
return !(Obj.getValueKey(target, value) === false);
});
/**
* Create the checksum symbol
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.6.5
* @version 0.6.5
*
* @type {Symbol}
*/
Blast.checksumSymbol = Symbol('toChecksum');
// Set it on some objects
Blast[Blast.checksumSymbol] = 'Protoblast';
Blast.Bound[Blast.checksumSymbol] = 'Blast.Bound';
Blast.Classes[Blast.checksumSymbol] = 'Blast.Classes';
Blast.Collection[Blast.checksumSymbol] = 'Blast.Collection';
/**
* Calculate the checksum for the given value
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1414,5 +1410,5 @@ * @version 0.7.0

* @param {Object|Array} obj The object to checksum
* @param {Boolean} sort_arrays Sort arrays before checksumming? (true)
* @param {boolean} sort_arrays Sort arrays before checksumming? (true)
*
* @return {String}
* @return {string}
*/

@@ -1445,3 +1441,3 @@ defStat(function checksum(obj, sort_arrays) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1451,5 +1447,5 @@ * @version 0.8.14

* @param {Object|Array} obj The object to checksum
* @param {Boolean} sort_arrays Sort arrays before checksumming? (true)
* @param {boolean} sort_arrays Sort arrays before checksumming? (true)
*
* @return {String}
* @return {string}
*/

@@ -1465,8 +1461,8 @@ function _checksum(obj, sort_arrays, seen, level) {

if (type == 'object' && obj != null) {
let custom_type = typeof obj[Blast.checksumSymbol];
let custom_type = typeof obj[CHECKSUM];
if (custom_type == 'string') {
return obj[Blast.checksumSymbol];
return obj[CHECKSUM];
} else if (custom_type == 'function') {
let checksum = obj[Blast.checksumSymbol]();
let checksum = obj[CHECKSUM]();

@@ -1525,3 +1521,3 @@ if (typeof checksum == 'string' && checksum.length < 32) {

return ident + length + '-' + Bound.String.checksum(obj, 0, split_length).toString(36) + Bound.String.checksum(obj, split_length).toString(36);
return ident + length + '-' + Str.checksum(obj, 0, split_length).toString(36) + Str.checksum(obj, split_length).toString(36);
} else if (type == 'number') {

@@ -1550,7 +1546,7 @@ return 'N' + obj;

if (sort_arrays) {
Bound.Array.safesort(obj);
Arr.safesort(obj);
}
// Create the names
names = Bound.Array.range(obj.length);
names = Arr.range(obj.length);

@@ -1596,3 +1592,3 @@ result = 'A';

// Let the result start with a C and the checksum of the constructor name
result = 'C' + Bound.String.checksum(obj.constructor.name).toString(36);
result = 'C' + Str.checksum(obj.constructor.name).toString(36);

@@ -1670,16 +1666,5 @@ if ((had_error || had_error == null)) {

/**
* Create the alike comparer symbol
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.5.11
* @version 0.5.11
*
* @type {Symbol}
*/
Blast.defineStatic(Blast, 'alikeSymbol', Symbol('alike'));
/**
* Loosely compare 2 variables, ignoring undefined variables
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1692,3 +1677,3 @@ * @version 0.8.15

*
* @return {Boolean}
* @return {boolean}
*/

@@ -1727,8 +1712,8 @@ defStat(function alike(a, b, seen) {

if (a && typeof a[Blast.alikeSymbol] == 'function') {
return a[Blast.alikeSymbol](b, seen);
if (a && typeof a[ALIKE] == 'function') {
return a[ALIKE](b, seen);
}
if (b && typeof b[Blast.alikeSymbol] == 'function') {
return b[Blast.alikeSymbol](a, seen);
if (b && typeof b[ALIKE] == 'function') {
return b[ALIKE](a, seen);
}

@@ -1866,3 +1851,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1891,3 +1876,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1917,3 +1902,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.11

@@ -1920,0 +1905,0 @@ * @version 0.5.4

@@ -18,3 +18,4 @@ const PENDING = 0,

ENDED = Symbol('ended'),
STATE = Symbol('state');
STATE = Symbol('state'),
FNC = Symbol('fnc');

@@ -32,7 +33,7 @@ const SCHEDULE_EXECUTOR = Symbol('schedule_executor'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*/
const AbstractPledge = Fn.inherits('Informer', function AbstractPledge(executor) {});
const AbstractPledge = Fn.inherits('Develry.Placeholder', '@', function AbstractPledge(executor) {});

@@ -46,7 +47,7 @@ AbstractPledge.setStatic('RESOLVED_VALUE', RESOLVED_VALUE);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.4.0
*
* @type {Number}
* @type {number}
*/

@@ -58,7 +59,7 @@ [STATE]: PENDING,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Boolean}
* @type {boolean}
*/

@@ -70,7 +71,7 @@ report_progress: false,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.4.0
*
* @type {Number}
* @type {number}
*/

@@ -83,3 +84,3 @@ [SUB_PLEDGES]: 0,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -94,3 +95,3 @@ * @version 0.4.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -104,3 +105,3 @@ * @version 0.4.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -114,3 +115,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -124,7 +125,7 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @type {Number}
* @type {number}
*/

@@ -136,3 +137,3 @@ [UPDATED]: null,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -148,3 +149,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -160,7 +161,7 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.1
* @version 0.8.1
*
* @type {Boolean}
* @type {boolean}
*/

@@ -172,3 +173,3 @@ warn_uncaught_errors: true,

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -184,3 +185,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -197,7 +198,7 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @type {Number}
* @type {number}
*/

@@ -211,7 +212,7 @@ AbstractPledge.setProperty(function state() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.24
* @version 0.7.24
*
* @type {Boolean}
* @type {boolean}
*/

@@ -227,7 +228,7 @@ AbstractPledge.setProperty(function is_done() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @type {Boolean}
* @type {boolean}
*/

@@ -241,7 +242,7 @@ AbstractPledge.setProperty(function _ended() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.4.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -255,7 +256,7 @@ AbstractPledge.setStatic(function isPledge(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -269,7 +270,7 @@ AbstractPledge.setStatic(function isThenable(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -283,11 +284,19 @@ AbstractPledge.setStatic(function hasPromiseInterface(obj) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
* @version 0.9.0
*/
AbstractPledge.setStatic(function done(promise, callback) {
var result = Pledge.prototype.done.call(promise, callback);
if (!result) {
result = Pledge.resolve();
let result;
if (!promise || !promise.then) {
result = Pledge.resolve(promise);
result.done(callback);
} else {
result = Pledge.prototype.done.call(promise, callback);
if (!result) {
result = Pledge.resolve();
}
}

@@ -301,3 +310,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -333,3 +342,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -356,3 +365,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -379,3 +388,3 @@ * @version 0.5.6

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -394,3 +403,5 @@ * @version 0.5.6

return Fn.parallel(false, tasks);
const fn = this[FNC] || Fn;
return fn.parallel(false, tasks);
});

@@ -401,3 +412,3 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -421,7 +432,7 @@ * @version 0.5.6

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @param {Number} n
* @param {number} n
* @param {Mixed} value

@@ -446,3 +457,3 @@ *

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -460,3 +471,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -474,3 +485,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -488,3 +499,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -502,8 +513,8 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @param {Number} value A value between 0-100
* @param {String} label An optional label
* @param {number} value A value between 0-100
* @param {string} label An optional label
*/

@@ -515,7 +526,7 @@ AbstractPledge.setMethod(function addProgress(value, label) {});

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @param {Number} parts
* @param {number} parts
*/

@@ -527,7 +538,7 @@ AbstractPledge.setMethod(function addProgressPart(parts) {});

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @param {Number} parts
* @param {number} parts
*/

@@ -539,3 +550,3 @@ AbstractPledge.setMethod(function reportProgressPart(parts) {});

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -551,3 +562,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -578,7 +589,7 @@ * @version 0.6.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -590,7 +601,7 @@ [CREATED]: 0,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.4.0
*
* @type {Number}
* @type {number}
*/

@@ -602,7 +613,7 @@ progress: 0,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.2
* @version 0.5.2
*
* @type {Number}
* @type {number}
*/

@@ -614,7 +625,7 @@ progress_parts: 0,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.2
* @version 0.5.2
*
* @type {Number}
* @type {number}
*/

@@ -628,7 +639,7 @@ progress_parts_finished: 0,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.4
* @version 0.6.4
*
* @type {Number}
* @type {number}
*/

@@ -646,3 +657,3 @@ Pledge.setProperty(function duration() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.4

@@ -680,7 +691,7 @@ * @version 0.6.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.6.4
*
* @param {Boolean} do_async Do the executor asynchronously
* @param {boolean} do_async Do the executor asynchronously
*/

@@ -713,8 +724,8 @@ Pledge.setMethod(START_EXECUTOR, function _startExecutor(do_async) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.7.0
*
* @param {Number} value A value between 0-100
* @param {String} label An optional label
* @param {number} value A value between 0-100
* @param {string} label An optional label
*/

@@ -733,8 +744,8 @@ Pledge.setMethod(function addProgress(value, label) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0
* @version 0.4.0
*
* @param {Number} value A value between 0-100
* @param {String} label An optional label
* @param {number} value A value between 0-100
* @param {string} label An optional label
*/

@@ -749,7 +760,7 @@ Pledge.setMethod(function reportProgress(value, label) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.2
* @version 0.5.2
*
* @param {Number} parts
* @param {number} parts
*/

@@ -773,7 +784,7 @@ Pledge.setMethod(function addProgressPart(parts) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.2
* @version 0.7.1
*
* @param {Number} parts
* @param {number} parts
*/

@@ -812,3 +823,3 @@ Pledge.setMethod(function reportProgressPart(parts) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.2

@@ -837,3 +848,3 @@ * @version 0.6.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3

@@ -873,5 +884,23 @@ * @version 0.6.3

/**
* Get the resolved value of this pledge.
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @return {*}
*/
Pledge.setMethod(function getResolvedValue() {
if (this[STATE] != RESOLVED) {
return this;
}
return this[RESOLVED_VALUE];
});
/**
* Resolve with the given value
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -896,3 +925,3 @@ * @version 0.5.6

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -938,3 +967,3 @@ * @version 0.6.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -965,3 +994,3 @@ * @version 0.8.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -971,3 +1000,3 @@ * @version 0.6.4

* @param {Error} reason
* @param {Boolean} do_async
* @param {boolean} do_async
*/

@@ -1017,3 +1046,3 @@ Pledge.setMethod(DO_REJECT, function _doReject(reason, do_async) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -1090,3 +1119,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.0

@@ -1105,3 +1134,3 @@ * @version 0.4.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -1135,3 +1164,3 @@ * @version 0.5.6

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.0

@@ -1179,3 +1208,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0

@@ -1194,3 +1223,3 @@ * @version 0.6.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3

@@ -1201,3 +1230,3 @@ * @version 0.6.3

*/
var Lazy = Collection.Function.inherits('Pledge', function LazyPledge(executor) {
var Lazy = Fn.inherits('Pledge', function LazyPledge(executor) {
this[EXECUTOR] = executor;

@@ -1209,3 +1238,3 @@ });

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3

@@ -1232,3 +1261,3 @@ * @version 0.6.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -1238,6 +1267,6 @@ * @version 0.7.10

* @param {Function} executor
* @param {Number} timeout
* @param {String} message
* @param {number} timeout
* @param {string} message
*/
var Timeout = Collection.Function.inherits('Pledge', function TimeoutPledge(executor, timeout, message) {
var Timeout = Fn.inherits('Pledge', function TimeoutPledge(executor, timeout, message) {

@@ -1282,3 +1311,3 @@ const that = this;

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1289,3 +1318,3 @@ * @version 0.8.15

*/
const Swift = Collection.Function.inherits(Pledge, function SwiftPledge(executor) {
const Swift = Fn.inherits(Pledge, function SwiftPledge(executor) {
this[EXECUTOR] = executor;

@@ -1298,2 +1327,3 @@ this[START_EXECUTOR](false);

SwiftObject[Blast.asyncScheduler] = Blast.callNow;
Swift[FNC] = SwiftObject;

@@ -1305,3 +1335,3 @@ /**

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1335,3 +1365,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1350,3 +1380,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1368,7 +1398,7 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15
* @version 0.8.15
*
* @param {Boolean} do_async Do the executor asynchronously
* @param {boolean} do_async Do the executor asynchronously
*/

@@ -1400,3 +1430,3 @@ Swift.setMethod(START_EXECUTOR, function _startExecutor(do_async) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1427,3 +1457,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1446,3 +1476,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1480,3 +1510,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1517,3 +1547,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1520,0 +1550,0 @@ * @version 0.8.15

@@ -7,3 +7,3 @@ const defStat = Blast.createStaticDefiner('RegExp'),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.0

@@ -19,9 +19,9 @@ * @version 0.5.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.7.0
*
* @param {String} str
* @param {string} str
*
* @return {String}
* @return {string}
*/

@@ -35,8 +35,8 @@ defStat(function escape(str) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.6.5
*
* @param {String} pattern
* @param {String} flags
* @param {string} pattern
* @param {string} flags
*

@@ -76,8 +76,8 @@ * @return {RegExp}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {String} str
* @param {String} flags
* @param {string} str
* @param {string} flags
*

@@ -101,3 +101,3 @@ * @return {RegExp}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -144,7 +144,7 @@ * @version 0.1.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.0
* @version 0.6.0
*
* @return {Number}
* @return {number}
*/

@@ -165,7 +165,7 @@ defProto(Blast.sizeofSymbol, function calculateSizeof() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -189,7 +189,7 @@ defProto(function getPattern() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.0
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -213,3 +213,3 @@ defProto(function getFlags() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -216,0 +216,0 @@ * @version 0.1.3

@@ -14,3 +14,3 @@ const OriginalAgent = require('http').Agent;

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -21,3 +21,3 @@ * @version 0.8.2

*
* @return {Number}
* @return {number}
*/

@@ -31,3 +31,3 @@ function getSocketTimeout(socket) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -80,3 +80,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -105,3 +105,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -119,3 +119,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -129,7 +129,7 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2
* @version 0.8.2
*
* @param {String|AgentPool} name
* @param {string|AgentPool} name
*

@@ -161,7 +161,7 @@ * @return {AgentPool}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2
* @version 0.8.2
*
* @param {String} name
* @param {string} name
* @param {AgentPool} pool

@@ -181,3 +181,3 @@ */

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -200,3 +200,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -222,3 +222,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -274,7 +274,7 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2
* @version 0.8.2
*
* @type {Number}
* @type {number}
*/

@@ -288,3 +288,3 @@ HttpAgent.setProperty(function current_id() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -295,3 +295,3 @@ * @version 0.8.2

*
* @return {Number}
* @return {number}
*/

@@ -305,3 +305,3 @@ HttpAgent.setStatic(function getCreatedTime(socket) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -312,3 +312,3 @@ * @version 0.8.2

*
* @return {String}
* @return {string}
*/

@@ -323,3 +323,3 @@ HttpAgent.setStatic(function getName(socket) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -330,3 +330,3 @@ * @version 0.8.2

*
* @return {Number}
* @return {number}
*/

@@ -340,3 +340,3 @@ HttpAgent.setStatic(function getRequestCount(socket) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -347,3 +347,3 @@ * @version 0.8.2

*
* @return {Number}
* @return {number}
*/

@@ -357,3 +357,3 @@ HttpAgent.setStatic(function getRequestFinishedCount(socket) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -400,3 +400,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -436,3 +436,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -463,3 +463,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -482,3 +482,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -601,3 +601,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -638,3 +638,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -665,3 +665,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -693,3 +693,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -709,3 +709,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -712,0 +712,0 @@ * @version 0.8.2

@@ -12,3 +12,3 @@ const RESPONSE = Symbol('response');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -24,3 +24,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -36,3 +36,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -48,3 +48,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -68,3 +68,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -88,3 +88,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -193,3 +193,3 @@ * @version 0.8.16

error = new Error('Transfer timeout after ' + timeout + 'ms for ' + that.url);
that.status = error.status = error.number = 408;
error.status = error.number = 408;
error.timeout = timeout;

@@ -269,4 +269,2 @@ error.request_start = xhr[START_SYMBOL];

type = xhr.getResponseHeader('content-type') || '';
that.status = xhr.status;
that.statusText = xhr.statusText;

@@ -470,3 +468,3 @@ if (type && type.indexOf(';') > -1) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.17

@@ -482,3 +480,3 @@ * @version 0.8.17

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -501,7 +499,7 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10
* @version 0.7.10
*
* @return {object}
* @return {Object}
*/

@@ -522,3 +520,3 @@ Request.setMethod(function getAllResponseHeaders() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -539,8 +537,8 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.7.0
*
* @param {String} method
* @param {String} url
* @param {string} method
* @param {string} url
*/

@@ -558,3 +556,3 @@ XMLHttpRequest.prototype.open = function open(method, url) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -561,0 +559,0 @@ * @version 0.7.0

@@ -7,3 +7,3 @@ const OPTIONS = Symbol('options');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -40,3 +40,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -51,3 +51,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -62,3 +62,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -72,3 +72,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -128,3 +128,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -154,3 +154,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -287,3 +287,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -290,0 +290,0 @@ * @version 0.8.16

@@ -25,3 +25,3 @@ const RESPONSE = Symbol('response');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -100,3 +100,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -113,3 +113,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -125,3 +125,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -137,3 +137,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -161,3 +161,3 @@ * @version 0.7.22

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -181,3 +181,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -431,3 +431,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.17

@@ -443,3 +443,3 @@ * @version 0.8.17

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -466,7 +466,7 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10
* @version 0.7.10
*
* @return {object}
* @return {Object}
*/

@@ -487,3 +487,3 @@ Request.setMethod(function getAllResponseHeaders() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16

@@ -504,3 +504,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -507,0 +507,0 @@ * @version 0.7.1

@@ -10,3 +10,3 @@ const ORIGINAL_REQUEST = Symbol('ori_req'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -17,3 +17,3 @@ * @version 0.8.3

*/
var Request = Collection.Function.inherits('Informer', 'Develry', function Request(options) {
var Request = Fn.inherits('Informer', 'Develry', function Request(options) {

@@ -64,3 +64,3 @@ // Set the time it was created

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -80,7 +80,7 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {String}
* @param {string}
*

@@ -104,7 +104,7 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {String}
* @param {string}
*

@@ -142,9 +142,9 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {String}
* @param {string}
*
* @return {Boolean}
* @return {boolean}
*/

@@ -158,3 +158,3 @@ Request.setStatic(function isAllowedMethod(method) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -170,3 +170,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -182,3 +182,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -194,7 +194,7 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -206,7 +206,7 @@ Request.setProperty('timeout', null);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -218,3 +218,3 @@ Request.setProperty('max_timeout', 30000);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -230,7 +230,7 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -244,7 +244,7 @@ Request.setProperty(function request_start() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {String}
* @type {string}
*/

@@ -272,3 +272,3 @@ Request.setProperty(function method() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -286,3 +286,3 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -302,3 +302,3 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -334,3 +334,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -348,3 +348,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -419,3 +419,3 @@ * @version 0.8.16

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -443,7 +443,7 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0
* @version 0.6.2
*
* @param {String} name
* @param {string} name
* @param {Mixed} value

@@ -478,3 +478,3 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0

@@ -541,3 +541,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -618,3 +618,3 @@ * @version 0.7.16

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -669,3 +669,3 @@ * @version 0.8.15

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -699,3 +699,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -706,3 +706,3 @@ * @version 0.7.10

*/
const Response = Collection.Function.inherits('Informer', 'Develry', function Response(request) {
const Response = Fn.inherits('Informer', 'Develry', function Response(request) {
this.request = request;

@@ -714,3 +714,3 @@ });

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -728,7 +728,7 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10
* @version 0.7.10
*
* @type {object}
* @type {Object}
*/

@@ -742,3 +742,3 @@ Response.setProperty(function headers() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.22

@@ -756,7 +756,7 @@ * @version 0.7.22

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.0
* @version 0.7.23
*
* @param {String|RURL} url
* @param {string|RURL} url
* @param {Object} options

@@ -763,0 +763,0 @@ * @param {Function} callback

@@ -8,3 +8,3 @@ var rx_protocol = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Arnout Kazemier

@@ -14,4 +14,4 @@ * @since 0.1.3

*
* @param {String} address
* @param {String|Boolean} base
* @param {string} address
* @param {string|boolean} base
*/

@@ -51,3 +51,3 @@ let RURL = Fn.inherits(function RURL(address, base) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -71,7 +71,7 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.8.6
*
* @return {Boolean}
* @return {boolean}
*/

@@ -123,8 +123,8 @@ RURL.setStatic(function isUrl(arg) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.5.7
*
* @param {String} address
* @param {String} base
* @param {string} address
* @param {string} base
*

@@ -141,10 +141,10 @@ * @return {RURL}

* @author Arnout Kazemier
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {Number} port
* @param {String} protocol
* @param {number} port
* @param {string} protocol
*
* @return {Boolean}
* @return {boolean}
*/

@@ -189,9 +189,9 @@ RURL.setStatic(function requiresPort(port, protocol) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} protocol
* @param {string} protocol
*
* @return {Boolean}
* @return {boolean}
*/

@@ -240,7 +240,7 @@ RURL.setStatic(function requiresSlashes(protocol) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} address
* @param {string} address
*

@@ -277,3 +277,3 @@ * @return {RURL}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -339,9 +339,9 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} path
* @param {string} path
*
* @return {Boolean}
* @return {boolean}
*/

@@ -355,11 +355,11 @@ RURL.setStatic(function isAbsolutePath(path) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} from
* @param {String} to
* @param {Boolean} resolve_up
* @param {string} from
* @param {string} to
* @param {boolean} resolve_up
*
* @return {String}
* @return {string}
*/

@@ -443,10 +443,10 @@ RURL.setStatic(function resolvePath(from, to, must_end_abs) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} from
* @param {String} to
* @param {string} from
* @param {string} to
*
* @return {String}
* @return {string}
*/

@@ -465,7 +465,7 @@ RURL.setStatic(function resolve(from, to) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.8.7
*
* @param {String} address
* @param {string} address
*

@@ -514,10 +514,10 @@ * @return {Object}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.1
* @version 0.4.1
*
* @param {String} val
* @param {Boolean} pct_encode_spaces
* @param {string} val
* @param {boolean} pct_encode_spaces
*
* @return {String}
* @return {string}
*/

@@ -536,10 +536,10 @@ RURL.setStatic(function encodeUriQuery(val, pct_encode_spaces) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.4.1
* @version 0.4.1
*
* @param {String} val
* @param {Boolean} pct_encode_spaces
* @param {string} val
* @param {boolean} pct_encode_spaces
*
* @return {String}
* @return {string}
*/

@@ -555,9 +555,9 @@ RURL.setStatic(function encodeUriSegment(val) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.19
* @version 0.8.1
*
* @param {String} val
* @param {string} val
*
* @return {String}
* @return {string}
*/

@@ -588,9 +588,9 @@ RURL.setStatic(function encodePathSegment(val) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} segment
* @param {string} segment
*
* @return {String}
* @return {string}
*/

@@ -608,3 +608,3 @@ RURL.setStatic(function decodeUriSegment(segment) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -629,7 +629,7 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.5.7
*
* @param {String} input
* @param {string} input
* @param {Object} options

@@ -694,8 +694,8 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.11
* @version 0.5.7
*
* @param {String} input
* @param {Number} limit
* @param {string} input
* @param {number} limit
*

@@ -742,7 +742,7 @@ * @return {Array}

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {String} input
* @param {string} input
* @param {Object} options

@@ -787,3 +787,3 @@ *

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -805,7 +805,7 @@ * @version 0.6.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.7.19
*
* @type {String}
* @type {string}
*/

@@ -848,7 +848,7 @@ RURL.setProperty(function pathname() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.2
*
* @type {String}
* @type {string}
*/

@@ -890,7 +890,7 @@ RURL.setProperty(function extension() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -906,7 +906,7 @@ RURL.setProperty(function path() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -961,3 +961,3 @@ RURL.setProperty(function resource() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -986,7 +986,7 @@ * @version 0.7.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.7.26
*
* @type {String}
* @type {string}
*/

@@ -1030,7 +1030,7 @@ RURL.setProperty(function host() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.7.16
*
* @type {String}
* @type {string}
*/

@@ -1072,7 +1072,7 @@ RURL.setProperty(function hostname() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1105,7 +1105,7 @@ RURL.setProperty(function port() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.7.0
*
* @type {String}
* @type {string}
*/

@@ -1166,7 +1166,7 @@ RURL.setProperty(function protocol() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1202,3 +1202,3 @@ RURL.setProperty(function search() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -1231,7 +1231,7 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1256,7 +1256,7 @@ RURL.setProperty(function origin() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1277,7 +1277,7 @@ RURL.setProperty(function hash() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1302,7 +1302,7 @@ RURL.setProperty(function fragment() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1319,7 +1319,7 @@ RURL.setProperty(function href() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1337,7 +1337,7 @@ RURL.setProperty(function auth() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1364,7 +1364,7 @@ RURL.setProperty(function username() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {String}
* @type {string}
*/

@@ -1395,7 +1395,7 @@ RURL.setProperty(function password() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @type {Boolean}
* @type {boolean}
*/

@@ -1411,7 +1411,7 @@ RURL.setProperty(function slashes() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Boolean}
* @type {boolean}
*/

@@ -1432,3 +1432,3 @@ RURL.setProperty(function seems_valid() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3

@@ -1451,3 +1451,3 @@ * @version 0.6.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -1466,3 +1466,3 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7

@@ -1491,3 +1491,3 @@ * @version 0.6.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1516,8 +1516,8 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.5.7
*
* @param {Number} index
* @param {String} value
* @param {number} index
* @param {string} value
*/

@@ -1563,3 +1563,3 @@ RURL.setMethod(function segment(index, value) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1583,3 +1583,3 @@ * @version 0.5.7

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.7

@@ -1590,3 +1590,3 @@ * @version 0.8.7

*
* @return {Boolean}
* @return {boolean}
*/

@@ -1621,7 +1621,7 @@ RURL.setMethod(function matchesPath(other) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.14
* @version 0.8.14
*
* @return {String}
* @return {string}
*/

@@ -1635,7 +1635,7 @@ RURL.setMethod(Blast.checksumSymbol, function checksum() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.7.0
*
* @return {String}
* @return {string}
*/

@@ -1680,9 +1680,9 @@ RURL.setMethod(function toString() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.7
* @version 0.7.1
*
* @param {String} address
* @param {String|Boolean} base
* @param {Boolean} must_end_abs
* @param {string} address
* @param {string|boolean} base
* @param {boolean} must_end_abs
*/

@@ -1815,10 +1815,10 @@ RURL.setMethod(function _parseInput(address, base, must_end_abs) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.5
*
* @param {String} name
* @param {String} value
* @param {string} name
* @param {string} value
*
* @return {String}
* @return {string}
*/

@@ -1847,7 +1847,7 @@ RURL.setMethod(function param(name, value) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.7.5
*
* @param {String|Object} params
* @param {string|Object} params
* @param {Mixed} value

@@ -1915,3 +1915,3 @@ */

* @author Joyent, Inc. and other Node contributors
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -1921,7 +1921,7 @@ * @version 0.4.1

* @param {Object} obj
* @param {String} sep
* @param {String} eq
* @param {string} sep
* @param {string} eq
* @param {Object} options
*
* @return {String}
* @return {string}
*/

@@ -1982,9 +1982,9 @@ RURL.setStatic(function encodeQuery(obj, sep, eq, options) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {String} name
* @param {string} name
*
* @return {Boolean}
* @return {boolean}
*/

@@ -2003,9 +2003,9 @@ RURL.setMethod(function usedBaseProperty(name) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2
* @version 0.7.2
*
* @param {String|RURL} url
* @param {string|RURL} url
*
* @return {Boolean}
* @return {boolean}
*/

@@ -2012,0 +2012,0 @@ RURL.setMethod(function isDescendant(url) {

@@ -6,3 +6,3 @@ const BlastMath = Bound.Math;

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -50,3 +50,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -88,3 +88,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -113,7 +113,7 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2
* @version 0.8.2
*
* @param {Number} value
* @param {number} value
*/

@@ -143,3 +143,3 @@ SampleCollector.setMethod(function add(value) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -162,3 +162,3 @@ * @version 0.8.2

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.2

@@ -165,0 +165,0 @@ * @version 0.8.2

@@ -9,7 +9,7 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @param {Number} seed
* @param {number} seed
*/

@@ -43,7 +43,7 @@ var Seeded = Fn.inherits(function SeededRng(seed) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @type {Number}
* @type {number}
*/

@@ -55,7 +55,7 @@ multiplier: 1664525,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @type {Number}
* @type {number}
*/

@@ -68,7 +68,7 @@ increment: 1013904223,

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @type {Number}
* @type {number}
*/

@@ -81,3 +81,3 @@ modulo: 4294967296

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7

@@ -101,3 +101,3 @@ * @version 0.3.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7

@@ -123,7 +123,7 @@ * @version 0.3.7

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.16
* @version 0.8.16
*
* @return {Number}
* @return {number}
*/

@@ -155,7 +155,7 @@ Seeded.setMethod(function between(min, max) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.7
* @version 0.3.7
*
* @return {Number}
* @return {number}
*/

@@ -178,7 +178,7 @@ Seeded.setMethod(function random() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.4
* @version 0.7.4
*
* @param {Number} size How many bytes to return
* @param {number} size How many bytes to return
* @param {Function} callback Optional callback

@@ -185,0 +185,0 @@ *

module.exports = function serverFunctions(Blast, extras) {
const libpath = require('path'),
const REQUIRE_CACHE = new Map(),
libmodule = require('module'),
libpath = require('path'),
libvm = require('vm'),
cnst = require('constants'),
fs = require('fs'),
os = require('os'),
fsp = fs.promises;
fsp = fs.promises,
Fn = Blast.Collection.Function;

@@ -23,3 +27,3 @@ const temp_paths_to_track = [],

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.1

@@ -197,5 +201,5 @@ * @version 0.8.0

var data = 'Æ("' + filename + '", function(module, exports, require){\n';
var data = 'Æ("' + filename + '", function(module, exports, require, Blast, Classes, Types, Collection, Bound, Obj, Fn){\n';
data += code;
data += '});\n';
data += '\n/**/});\n';

@@ -248,22 +252,4 @@ let result = {

if (options.add_wrapper !== false) {
let argument_configuration = Blast.getArgumentConfiguration(options.arguments);
if (options.add_wrapper || code.slice(0, 14) != 'module.exports') {
// Add 1 line for the `register` line
start++;
let data = 'module.exports = function(';
if (options.arguments) {
data += Blast.getArgumentConfiguration(options.arguments).names.join(',');
} else {
data += 'Blast, Classes, Types, Collection, Bound, Obj, Fn';
}
data += ') {\n';
code = data + code + '\n};';
}
}
let name = options.name_id || options.name,

@@ -278,5 +264,5 @@ filename;

code = 'Æ("' + name + '", function(module, exports, require){\n'
code = 'Æ("' + name + '", function(module, exports, require, ' + argument_configuration.names.join(', ') + '){\n'
+ code
+ '});\n';
+ '\n/**/});\n';

@@ -309,3 +295,3 @@ // Add 1 line for the `require` line

Blast.Bound.Function.parallel(tasks, async (err, files) => {
Fn.parallel(tasks, async (err, files) => {

@@ -405,3 +391,3 @@ if (err) {

line = lines[i];
tokens = Blast.Bound.Function.tokenize(line, false);
tokens = Fn.tokenize(line, false);
char_start = 0;

@@ -451,3 +437,3 @@

if (get_tokens) {
tokens = Blast.Bound.Function.tokenize(template, false);
tokens = Fn.tokenize(template, false);

@@ -528,3 +514,3 @@ if (options.depropertize) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.0

@@ -586,7 +572,7 @@ * @version 0.8.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
* @version 0.9.0
*
* @param {String} path
* @param {string} path
*

@@ -597,2 +583,6 @@ * @return {Promise}

if (!path) {
throw new Error('Blast.getCachedFile() requires a valid `path` argument');
}
if (path[0] != '/') {

@@ -617,3 +607,3 @@ path = libpath.resolve(__dirname, path);

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -624,3 +614,3 @@ * @version 0.7.10

*
* @return {object}
* @return {Object}
*/

@@ -647,3 +637,3 @@ function normalizeMkdirOptions(options) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -678,3 +668,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -684,3 +674,3 @@ * @version 0.7.11

* @param {string} path
* @param {object} options
* @param {Object} options
*

@@ -716,3 +706,3 @@ * @return {Pledge<string>}

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -722,3 +712,3 @@ * @version 0.7.10

* @param {string} path
* @param {object} options
* @param {Object} options
*

@@ -759,3 +749,3 @@ * @return {string} Return the same path again

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -793,3 +783,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -835,3 +825,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -858,3 +848,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -876,3 +866,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -899,3 +889,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -938,3 +928,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -989,3 +979,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1028,3 +1018,3 @@ * @version 0.7.25

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1054,3 +1044,3 @@ * @version 0.7.11

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1091,3 +1081,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1110,3 +1100,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1143,3 +1133,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1150,3 +1140,3 @@ * @version 0.7.10

*
* @return {String}
* @return {string}
*/

@@ -1162,3 +1152,3 @@ Blast.createTempFileSync = function createTempFileSync(options) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1184,3 +1174,3 @@ * @version 0.7.10

return Blast.Collection.Function.parallel(4, tasks);
return Fn.parallel(4, tasks);
};

@@ -1191,3 +1181,3 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1210,3 +1200,3 @@ * @version 0.7.10

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.10

@@ -1218,3 +1208,3 @@ * @version 0.7.10

if (!callback) {
callback = Blast.Collection.Function.dummy;
callback = Fn.dummy;
}

@@ -1228,3 +1218,3 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1251,3 +1241,3 @@ * @version 0.8.15

if (typeof code == 'string') {
tokens = Blast.Bound.Function.tokenize(code, false);
tokens = Fn.tokenize(code, false);
} else {

@@ -1301,3 +1291,3 @@ tokens = code;

if (before_varname.trim()) {
type = Blast.Bound.Function.getTokenType(before_varname);
type = Fn.getTokenType(before_varname);

@@ -1312,3 +1302,3 @@ if (type == 'punct') {

if (Blast.Bound.Function.getTokenType(varname) != 'name') {
if (Fn.getTokenType(varname) != 'name') {
continue;

@@ -1352,3 +1342,3 @@ }

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.15

@@ -1362,3 +1352,3 @@ * @version 0.8.15

if (typeof code == 'string') {
tokens = Blast.Bound.Function.tokenize(code, false);
tokens = Fn.tokenize(code, false);
} else {

@@ -1408,3 +1398,3 @@ tokens = code;

previous = tokens[i - 1];
type = Blast.Bound.Function.getTokenType(previous);
type = Fn.getTokenType(previous);

@@ -1417,11 +1407,11 @@ if (type == 'name') {

previous = tokens[i - 2];
type = Blast.Bound.Function.getTokenType(previous);
type = Fn.getTokenType(previous);
}
next = tokens[i + 1];
type = Blast.Bound.Function.getTokenType(next);
type = Fn.getTokenType(next);
if (type == 'whitespace') {
next = tokens[i + 2];
type = Blast.Bound.Function.getTokenType(next);
type = Fn.getTokenType(next);
}

@@ -1531,3 +1521,49 @@

return tokens.join('');
}
};
/**
* Require a file via the VM module
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*/
Blast.requireFileViaVm = function requireFileViaVm(path, options) {
let cached = REQUIRE_CACHE.get(path);
if (cached) {
return cached.exports;
}
let custom_arguments = options?.arguments;
let source = fs.readFileSync(path, 'utf8');
let argument_config = Blast.getArgumentConfiguration(custom_arguments);
let module = {
exports: {},
};
REQUIRE_CACHE.set(path, module);
let head = '(function(module, exports, require, __dirname, __filename, ' + argument_config.names.join(', ') + ') {"use strict";\n';
let exported_function = libvm.runInThisContext(head + source + '\n/**/})', {
filename: path,
lineOffset: -1,
});
let args = [
module,
module.exports,
libmodule.createRequire(path),
libpath.dirname(path),
libpath.basename(path),
...argument_config.values,
];
exported_function(...args);
return module.exports;
};
};
/**
* Revive a set
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -12,3 +12,3 @@ * @version 0.7.20

*/
Fn.setStatic(Set, function unDry(value) {
Fn.setStatic(Set, function unDry(value) {
return new this(value);

@@ -20,3 +20,3 @@ });

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.20

@@ -23,0 +23,0 @@ * @version 0.7.20

@@ -1,485 +0,480 @@

module.exports = function BlastImmediate(Blast, Collection) {
var global = Blast.Globals,
realClearImmediate = global.clearImmediate || global.msClearImmediate,
realSetImmediate = global.setImmediate || global.msSetImmediate,
realNextTick = global.nextTick,
idle_counter = 0,
last_idle = 0,
handles = {},
idles = {};
"use strict";
// Ensure a nextTick implementation
if (!realNextTick) {
if (global.process && global.process.nextTick) {
realNextTick = global.process.nextTick;
} else if (typeof Promise !== 'undefined' && Promise !== Blast.Classes.Pledge && Promise.resolve) {
let resolved = Promise.resolve();
realNextTick = function nextTick(callback) {
resolved.then(callback);
};
} else if (typeof Image !== 'undefined') {
realNextTick = function nextTick(callback) {
var img = new Image;
img.onerror = callback;
img.src = 'data:image/png,' + Math.random();
};
} else {
realNextTick = function nextTick(callback) {
return setTimeout(callback, 0);
};
}
}
var global = Blast.Globals,
realClearImmediate = global.clearImmediate || global.msClearImmediate,
realSetImmediate = global.setImmediate || global.msSetImmediate,
realNextTick = global.nextTick,
idle_counter = 0,
last_idle = 0,
handles = {},
idles = {};
realNextTick = realNextTick.bind(global);
// Ensure a nextTick implementation
if (!realNextTick) {
if (global.process && global.process.nextTick) {
realNextTick = global.process.nextTick;
} else if (typeof Promise !== 'undefined' && Promise !== Blast.Classes.Pledge && Promise.resolve) {
let resolved = Promise.resolve();
realNextTick = function nextTick(callback) {
resolved.then(callback);
};
} else if (typeof Image !== 'undefined') {
realNextTick = function nextTick(callback) {
var img = new Image;
img.onerror = callback;
img.src = 'data:image/png,' + Math.random();
};
} else {
realNextTick = function nextTick(callback) {
return setTimeout(callback, 0);
};
}
function canUsePostMessage() {
// The test against `importScripts` prevents this implementation from
// being installed inside a web worker, where `global.postMessage` means
// something completely different and can't be used for this purpose.
// Don't use on chrome either, because it's causes some GC issues
if (!Blast.isChrome && global.postMessage && !global.importScripts) {
var is_async = true,
old_onmessage = global.onmessage;
global.onmessage = function() {
is_async = false;
};
global.postMessage('', '*');
global.onmessage = old_onmessage;
return is_async;
}
};
realNextTick = realNextTick.bind(global);
// Ensure a setImmediate implementation
if (!realSetImmediate) {
let addSchedule;
function canUsePostMessage() {
// The test against `importScripts` prevents this implementation from
// being installed inside a web worker, where `global.postMessage` means
// something completely different and can't be used for this purpose.
// Don't use on chrome either, because it's causes some GC issues
if (!Blast.isChrome && global.postMessage && !global.importScripts) {
var is_async = true,
old_onmessage = global.onmessage;
realSetImmediate = function setImmediate(fnc) {
global.onmessage = function() {
is_async = false;
};
var handle,
args;
global.postMessage('', '*');
global.onmessage = old_onmessage;
if (arguments.length > 1) {
let original_fnc = fnc,
i;
return is_async;
args = [];
for (i = 1; i < arguments.length; i++) {
args.push(arguments[i]);
}
fnc = function callFunction() {
original_fnc.apply(null, args);
};
}
handle = Blast.storeHandle('immediate', fnc);
addSchedule(handle);
return handle;
};
// Ensure a setImmediate implementation
if (!realSetImmediate) {
let addSchedule;
realClearImmediate = function clearImmediate(handle) {
return Blast.clearHandle('immediate', handle);
};
realSetImmediate = function setImmediate(fnc) {
if (global.MessageChannel) {
let channel = new global.MessageChannel();
var handle,
args;
channel.port1.onmessage = function immediateMC(e) {
Blast.runHandle('immediate', +e.data);
};
if (arguments.length > 1) {
let original_fnc = fnc,
i;
addSchedule = function addSchedule(handle) {
channel.port2.postMessage(handle);
};
} else if (canUsePostMessage()) {
let prefix = 'setImmediate$' + Math.random() + '$';
args = [];
for (i = 1; i < arguments.length; i++) {
args.push(arguments[i]);
}
fnc = function callFunction() {
original_fnc.apply(null, args);
};
global.addEventListener('message', function immediatePM(e) {
if (e.source === global && typeof e.data == 'string' && e.data.indexOf(prefix) == 0) {
Blast.runHandle('immediate', +e.data.slice(prefix.length));
}
}, false);
handle = Blast.storeHandle('immediate', fnc);
addSchedule(handle);
return handle;
addSchedule = function addSchedule(handle) {
global.postMessage(prefix + handle, '*');
};
realClearImmediate = function clearImmediate(handle) {
return Blast.clearHandle('immediate', handle);
} else {
addSchedule = function addSchedule(handle) {
setTimeout(function immediateST() {
Blast.runHandle('immediate', handle);
}, 0);
};
}
}
if (global.MessageChannel) {
let channel = new global.MessageChannel();
realSetImmediate = realSetImmediate.bind(global);
channel.port1.onmessage = function immediateMC(e) {
Blast.runHandle('immediate', +e.data);
};
/**
* Clear a blast handle
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {string} type The type of handle
* @param {number} id The id to clear
*/
Blast.clearHandle = function clearHandle(type, id) {
addSchedule = function addSchedule(handle) {
channel.port2.postMessage(handle);
};
} else if (canUsePostMessage()) {
let prefix = 'setImmediate$' + Math.random() + '$';
if (!handles[type]) {
return false;
}
global.addEventListener('message', function immediatePM(e) {
if (e.source === global && typeof e.data == 'string' && e.data.indexOf(prefix) == 0) {
Blast.runHandle('immediate', +e.data.slice(prefix.length));
}
}, false);
return handles[type].delete(id);
};
addSchedule = function addSchedule(handle) {
global.postMessage(prefix + handle, '*');
};
} else {
addSchedule = function addSchedule(handle) {
setTimeout(function immediateST() {
Blast.runHandle('immediate', handle);
}, 0);
};
}
/**
* Store something and return a handle
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {string} type The type of handle
* @param {Mixed} data The data to store
*
* @return {number}
*/
Blast.storeHandle = function storeHandle(type, data) {
var id;
if (!handles[type]) {
handles[type] = new Map();
handles[type].count = 0;
}
realSetImmediate = realSetImmediate.bind(global);
id = handles[type].count++;
/**
* Clear a blast handle
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {String} type The type of handle
* @param {Number} id The id to clear
*/
Blast.clearHandle = function clearHandle(type, id) {
handles[type].set(id, data);
if (!handles[type]) {
return false;
}
return id;
};
return handles[type].delete(id);
};
/**
* Run the given handle
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {string} type The type of handle
* @param {number} id The handle id
*
* @return {number}
*/
Blast.runHandle = function runHandle(type, id) {
/**
* Store something and return a handle
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {String} type The type of handle
* @param {Mixed} data The data to store
*
* @return {Number}
*/
Blast.storeHandle = function storeHandle(type, data) {
if (!handles[type]) {
return false;
}
var id;
let fnc = handles[type].get(id);
if (!handles[type]) {
handles[type] = new Map();
handles[type].count = 0;
}
try {
fnc();
} finally {
handles[type].delete(id);
}
};
id = handles[type].count++;
/**
* Perform task at the given timestamp
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.1
* @version 0.5.1
*
* @param {Function} task The function to execute
* @param {number} timestamp When to execute the task
*
* @return {number}
*/
Blast.setSchedule = function setSchedule(task, timestamp) {
return setTimeout(task, timestamp - Date.now());
};
handles[type].set(id, data);
/**
* Clear a scheduled task
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.2.1
* @version 0.5.1
*
* @param {number} id The id to clear
*/
Blast.clearSchedule = function clearSchedule(id) {
return clearTimeout(id);
};
return id;
};
/**
* A nextTick that can set the context
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.1
* @version 0.7.21
*
* @param {Function} task
* @param {Object} context
*/
Blast.nextTick = function nextTick(task, context) {
/**
* Run the given handle
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {String} type The type of handle
* @param {Number} id The handle id
*
* @return {Number}
*/
Blast.runHandle = function runHandle(type, id) {
if (arguments.length > 1) {
if (!handles[type]) {
return false;
}
let args = [],
i;
let fnc = handles[type].get(id);
try {
fnc();
} finally {
handles[type].delete(id);
for (i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
};
/**
* Perform task at the given timestamp
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.2.1
* @version 0.5.1
*
* @param {Function} task The function to execute
* @param {Number} timestamp When to execute the task
*
* @return {Number}
*/
Blast.setSchedule = function setSchedule(task, timestamp) {
return setTimeout(task, timestamp - Date.now());
};
return realNextTick(function doTickTaskWithArgs() {
task.apply(context, args);
});
} else {
return realNextTick(function doTickTask() {
task();
});
}
};
/**
* Clear a scheduled task
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.2.1
* @version 0.5.1
*
* @param {Number} id The id to clear
*/
Blast.clearSchedule = function clearSchedule(id) {
return clearTimeout(id);
};
/**
* A setImmediate that can set the context
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.1
* @version 0.7.21
*
* @param {Function} task
* @param {Object} context
*/
Blast.setImmediate = function setImmediate(task, context) {
/**
* A nextTick that can set the context
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.5.1
* @version 0.7.21
*
* @param {Function} task
* @param {Object} context
*/
Blast.nextTick = function nextTick(task, context) {
var args,
i;
if (arguments.length > 1) {
if (typeof task != 'function') {
throw new TypeError('"callback" argument must be a function');
}
let args = [],
i;
if (arguments.length > 2) {
args = [];
for (i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
return realNextTick(function doTickTaskWithArgs() {
task.apply(context, args);
});
} else {
return realNextTick(function doTickTask() {
task();
});
for (i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
};
}
/**
* A setImmediate that can set the context
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.5.1
* @version 0.7.21
*
* @param {Function} task
* @param {Object} context
*/
Blast.setImmediate = function setImmediate(task, context) {
return realSetImmediate(function doTask() {
task.apply(context, args);
});
};
var args,
i;
/**
* Queue a task for the next tick
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @param {Function} task
*/
Blast.nextGroupedTick = function nextGroupedTick(task) {
TICK_QUEUE.queue(task);
};
if (typeof task != 'function') {
throw new TypeError('"callback" argument must be a function');
}
/**
* Queue a task for the next tick using setImmediate
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @param {Function} task
*/
Blast.nextGroupedImmediate = function nextGroupedImmediate(task) {
IMMEDIATE_QUEUE.queue(task);
};
if (arguments.length > 2) {
args = [];
/**
* Simple ScheduleQueue class
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @param {Function} scheduler
*/
function ScheduleQueue(scheduler) {
for (i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
}
let active_queue = null;
let next_queue = null;
return realSetImmediate(function doTask() {
task.apply(context, args);
});
};
this.queue = function queue(task) {
/**
* Queue a task for the next tick
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @param {Function} task
*/
Blast.nextGroupedTick = function nextGroupedTick(task) {
TICK_QUEUE.queue(task);
};
if (!next_queue) {
next_queue = [];
scheduler(startNextQueue);
}
/**
* Queue a task for the next tick using setImmediate
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @param {Function} task
*/
Blast.nextGroupedImmediate = function nextGroupedImmediate(task) {
IMMEDIATE_QUEUE.queue(task);
next_queue.push(task);
};
/**
* Simple ScheduleQueue class
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.21
* @version 0.7.21
*
* @param {Function} scheduler
*/
function ScheduleQueue(scheduler) {
function startNextQueue() {
let task;
let active_queue = null;
let next_queue = null;
active_queue = next_queue;
next_queue = null;
this.queue = function queue(task) {
while (active_queue?.length) {
task = active_queue.shift();
if (!next_queue) {
next_queue = [];
scheduler(startNextQueue);
try {
task();
} catch(err) {
console.error('ScheduleQueue caught an error:', err);
}
}
}
}
next_queue.push(task);
};
const TICK_QUEUE = new ScheduleQueue(realNextTick),
IMMEDIATE_QUEUE = new ScheduleQueue(realSetImmediate);
function startNextQueue() {
let task;
Blast.defineGlobal('clearImmediate', realClearImmediate);
active_queue = next_queue;
next_queue = null;
if (Blast.Globals.requestIdleCallback) {
Blast.requestIdleCallback = Blast.Globals.requestIdleCallback.bind(Blast.Globals);
Blast.cancelIdleCallback = Blast.Globals.cancelIdleCallback.bind(Blast.Globals);
return;
}
while (active_queue?.length) {
task = active_queue.shift();
/**
* A requestIdleCallback polyfill
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {Function} task
* @param {Object} options
*/
Blast.requestIdleCallback = function requestIdleCallback(task, options) {
try {
task();
} catch(err) {
console.error('ScheduleQueue caught an error:', err);
}
}
}
var request_start = Date.now(),
timeout_time,
grace_period = 0,
did_timeout = false,
lap_start = request_start,
round = 0,
wait = 1,
id = idle_counter++;
if (!options) {
options = {};
}
const TICK_QUEUE = new ScheduleQueue(realNextTick),
IMMEDIATE_QUEUE = new ScheduleQueue(realSetImmediate);
if (Blast.isBrowser) {
// Browser timeouts minimum is about 4ms
wait = 4;
Blast.defineGlobal('clearImmediate', realClearImmediate);
// Start with a greater grace period
grace_period = 2;
}
if (Blast.Globals.requestIdleCallback) {
Blast.requestIdleCallback = Blast.Globals.requestIdleCallback.bind(Blast.Globals);
Blast.cancelIdleCallback = Blast.Globals.cancelIdleCallback.bind(Blast.Globals);
return;
// Limit the amount of requests that can be made per second
if (request_start - last_idle < 30) {
wait += 15;
}
/**
* A requestIdleCallback polyfill
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {Function} task
* @param {Object} options
*/
Blast.requestIdleCallback = function requestIdleCallback(task, options) {
last_idle = request_start;
var request_start = Date.now(),
timeout_time,
grace_period = 0,
did_timeout = false,
lap_start = request_start,
round = 0,
wait = 1,
id = idle_counter++;
// If a timeout is defined,
// calculate at what time it should have timed out
if (options.timeout) {
timeout_time = options.timeout + request_start;
} else {
timeout_time = Infinity;
}
if (!options) {
options = {};
}
idles[id] = true;
if (Blast.isBrowser) {
// Browser timeouts minimum is about 4ms
wait = 4;
setTimeout(function didTimeout() {
// Start with a greater grace period
grace_period = 2;
}
var now = Date.now(),
elapsed = now - lap_start,
left = grace_period + (wait - elapsed),
remaining;
// Limit the amount of requests that can be made per second
if (request_start - last_idle < 30) {
wait += 15;
if (!idles[id]) {
return;
}
last_idle = request_start;
// Update the last_idle timestamp
last_idle = now;
// If a timeout is defined,
// calculate at what time it should have timed out
if (options.timeout) {
timeout_time = options.timeout + request_start;
round++;
if (left >= 0) {
remaining = 45 + left;
} else if (now >= timeout_time) {
remaining = 0;
did_timeout = true;
} else {
timeout_time = Infinity;
}
idles[id] = true;
setTimeout(function didTimeout() {
var now = Date.now(),
elapsed = now - lap_start,
left = grace_period + (wait - elapsed),
remaining;
if (!idles[id]) {
return;
// Increase the grace period up to a maximum of 5ms
// each time we have to retry
if (grace_period < 5) {
grace_period++;
}
// Update the last_idle timestamp
last_idle = now;
// Add the time left (negative value) to 10ms
wait = Math.min(20 - left, 50);
round++;
lap_start = now;
if (left >= 0) {
remaining = 45 + left;
} else if (now >= timeout_time) {
remaining = 0;
did_timeout = true;
} else {
setTimeout(didTimeout, wait);
return;
}
// Increase the grace period up to a maximum of 5ms
// each time we have to retry
if (grace_period < 5) {
grace_period++;
}
// Add the time left (negative value) to 10ms
wait = Math.min(20 - left, 50);
lap_start = now;
setTimeout(didTimeout, wait);
return;
task({
didTimeout : did_timeout,
timeRemaining : function timeRemaining() {
return Math.max(0, remaining - (Date.now() - now));
}
});
task({
didTimeout : did_timeout,
timeRemaining : function timeRemaining() {
return Math.max(0, remaining - (Date.now() - now));
}
});
// Update the last_idle timestamp
last_idle = Date.now();
// Update the last_idle timestamp
last_idle = Date.now();
delete idles[id];
}, wait);
delete idles[id];
}, wait);
return id;
};
return id;
};
/**
* A cancelIdleCallback polyfill
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {Number} id
*/
Blast.cancelIdleCallback = function cancelIdleCallback(id) {
delete idles[id];
};
};
/**
* A cancelIdleCallback polyfill
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @param {number} id
*/
Blast.cancelIdleCallback = function cancelIdleCallback(id) {
delete idles[id];
};

@@ -9,3 +9,3 @@ /**

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3

@@ -147,3 +147,3 @@ * @version 0.1.3

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -161,7 +161,7 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {Number}
* @return {number}
*/

@@ -168,0 +168,0 @@ function safesortComparer(a, b) {

@@ -21,3 +21,3 @@ var online_change_symbol = Symbol('online_change'),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -33,7 +33,7 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -47,7 +47,7 @@ State.setProperty(function check_count() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -61,7 +61,7 @@ State.setProperty(function last_success() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Boolean}
* @type {boolean}
*/

@@ -84,7 +84,7 @@ State.setProperty(function save_data() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Number}
* @type {number}
*/

@@ -104,7 +104,7 @@ State.setProperty(function rtt() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -129,7 +129,7 @@ State.setProperty(function rtt_timeout() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Number}
* @type {number}
*/

@@ -149,7 +149,7 @@ State.setProperty(function downlink() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Boolean}
* @type {boolean}
*/

@@ -165,7 +165,7 @@ State.setProperty(function online() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Boolean}
* @type {boolean}
*/

@@ -181,7 +181,7 @@ State.setProperty(function offline() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.7.0
*
* @type {Number}
* @type {number}
*/

@@ -200,7 +200,7 @@ State.setProperty(function current_status_duration() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {String}
* @type {string}
*/

@@ -221,7 +221,7 @@ State.setProperty(function website_endpoint() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.6.2
*
* @type {Boolean}
* @type {boolean}
*/

@@ -241,7 +241,7 @@ State.setProperty(function is_visible() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2
* @version 0.7.0
*
* @param {Boolean} value
* @param {boolean} value
*/

@@ -283,3 +283,3 @@ State.setMethod(set_online_symbol, function setOnline(value) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -350,3 +350,3 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -390,3 +390,3 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -416,3 +416,3 @@ * @version 0.6.2

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.2

@@ -517,3 +517,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -564,7 +564,7 @@ * @version 0.7.22

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {String} type
* @param {string} type
* @param {Object} event

@@ -580,7 +580,7 @@ */

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -599,9 +599,9 @@ State.setMethod(function connectionHasTimedOut(ms) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} ms The milliseconds that should count as a timeout
* @param {number} ms The milliseconds that should count as a timeout
*
* @return {Number}
* @return {number}
*/

@@ -640,7 +640,7 @@ State.setMethod(function msUntilTimeout(ms) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @param {Number} ms The milliseconds to wait before checking again
* @param {number} ms The milliseconds to wait before checking again
*/

@@ -647,0 +647,0 @@ State.setMethod(function queueCheck(ms) {

/**
* The Combined stream class
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -16,3 +16,3 @@ * @version 0.8.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -37,7 +37,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @return {Boolean}
* @return {boolean}
*/

@@ -57,3 +57,3 @@ function possibleStream(arg) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -94,3 +94,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -119,3 +119,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -131,3 +131,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -143,3 +143,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -155,3 +155,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -172,3 +172,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -186,3 +186,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -204,3 +204,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -231,3 +231,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -261,3 +261,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -289,3 +289,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -326,3 +326,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -351,3 +351,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -368,3 +368,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -371,0 +371,0 @@ * @version 0.7.1

/**
* The Delayed stream class
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -21,3 +21,3 @@ * @version 0.8.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -38,7 +38,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1
* @version 0.7.1
*
* @type {Boolean}
* @type {boolean}
*/

@@ -52,3 +52,3 @@ Delayed.setProperty(function readable() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -87,3 +87,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -99,3 +99,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -118,3 +118,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -132,3 +132,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -152,3 +152,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -166,3 +166,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -189,3 +189,3 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -192,0 +192,0 @@ * @version 0.7.1

@@ -6,3 +6,3 @@ const libstream = require('stream');

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.4

@@ -9,0 +9,0 @@ * @version 0.8.4

@@ -40,7 +40,7 @@ const REPLACE_FROM_CHARCODE = (match, code) => String.fromCharCode(code),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.8.1
* @version 0.9.0
*
* @return {String} The decoded string
* @return {string} The decoded string
*/

@@ -53,3 +53,3 @@ Blast.definePrototype('String', function decodeHTML() {

if (length < 4) {
return this;
return ''+this;
}

@@ -59,3 +59,3 @@

if (!this.includes('&')) {
return this;
return ''+this;
}

@@ -79,3 +79,3 @@

} else {
result = this;
result = ''+this;
}

@@ -98,9 +98,9 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.2
* @version 0.7.5
*
* @param {String} character The single character to encode
* @param {string} character The single character to encode
*
* @return {String} The encoded char
* @return {string} The encoded char
*/

@@ -177,9 +177,9 @@ function loadEntities() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.27
* @version 0.7.27
*
* @param {String} text
* @param {string} text
*
* @return {Boolean}
* @return {boolean}
*/

@@ -234,9 +234,9 @@ Blast.stringNeedsHtmlEscaping = function stringNeedsHtmlEscaping(text) {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.8.12
* @version 0.9.0
*
* @param {Boolean} replace_more Replace more characters (inside attributes)
* @param {boolean} replace_more Replace more characters (inside attributes)
*
* @return {String} The encoded string
* @return {string} The encoded string
*/

@@ -325,3 +325,3 @@ Blast.definePrototype('String', function encodeHTML(replace_more) {

if (!changed) {
return this;
return ''+this;
}

@@ -340,7 +340,7 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.5
* @version 0.7.5
*
* @return {String} The encoded string
* @return {string} The encoded string
*/

@@ -347,0 +347,0 @@ Blast.definePrototype('String', function encodeHTML() {

@@ -15,11 +15,11 @@ const defStat = Blast.createStaticDefiner('String'),

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.10
* @version 0.8.10
*
* @param {String} character
* @param {string} character
*
* @return {Boolean}
* @return {boolean}
*/
defStat('isLetter', function isLetter(character) {
defStat(function isLetter(character) {

@@ -45,3 +45,3 @@ let upper = character.toUpperCase(),

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.4

@@ -55,3 +55,3 @@ * @version 0.7.0

*/
defStat('decodeAttributes', function decodeAttributes(value, separator) {
defStat(function decodeAttributes(value, separator) {

@@ -140,11 +140,11 @@ var result = {},

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {String} value
* @param {string} value
*
* @return {String}
* @return {string}
*/
defStat('decodeURI', function decodeURI(value) {
defStat(function decodeURI(value) {
try {

@@ -160,11 +160,11 @@ return decodeURIComponent(value);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.1.4
*
* @param {String} value
* @param {string} value
*
* @return {String}
* @return {string}
*/
defStat('encodeURI', function encodeURI(value) {
defStat(function encodeURI(value) {
return encodeURIComponent(value);

@@ -177,11 +177,11 @@ });

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.7.0
*
* @param {String} value
* @param {string} value
*
* @return {Mixed}
*/
defStat('decodeJSONURI', function decodeJSONURI(value) {
defStat(function decodeJSONURI(value) {

@@ -207,11 +207,11 @@ value = Collection.String.decodeURI(value).trim();

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.3.4
*
* @param {String} value
* @param {string} value
*
* @return {Object}
*/
defStat('decodeCookies', function decodeCookies(value) {
defStat(function decodeCookies(value) {
return Str.decodeAttributes(value, /; */);

@@ -223,13 +223,13 @@ });

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.3.9
*
* @param {String} name
* @param {string} name
* @param {Mixed} value
* @param {Object} options
*
* @return {String}
* @return {string}
*/
defStat('encodeCookie', function encodeCookie(name, value, options) {
defStat(function encodeCookie(name, value, options) {

@@ -284,19 +284,62 @@ var header,

/**
* Safely parse a quoted string
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.9.0
* @version 0.9.0
*
* @param {string} input
*
* @return {string}
*/
defStat(function parseQuoted(input) {
const quote = input[0],
length = input.length;
if (input[length - 1] != quote) {
throw new Error('Unmatched quotes');
}
if (quote != '"') {
input = input.slice(1, -1);
// If the input includes a double quote,
// it has an escaped quote somewhere.
if (input.includes('"')) {
input = input.replaceAll('"', '\\' + '"');
}
if (quote == '`') {
if (input.includes('\r\n')) {
input = input.replaceAll('\r\n', '\\n');
} else if (input.includes('\n')) {
input = input.replaceAll('\n', '\\n');
}
}
input = '"' + input + '"';
}
if (input.includes('\t')) {
input = input.replaceAll('\t', '\\t');
}
return JSON.parse(input);
});
/**
* Return the string after the given needle
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.5.5
* @version 0.9.0
*
* @param {String} needle The string to look for
* @param {Boolean} first Get from the first or last
* @param {string} needle The string to look for
* @param {boolean} first Get from the first or last
*
* @return {String} The string after the needle
* @return {string} The string after the needle
*/
defProto('after', function after(needle, first) {
defProto(function after(needle, first) {
var count,
arr,
id;
if (this == null) {

@@ -310,2 +353,4 @@ throw new Error('Attempted to perform String#after on invalid context');

let id;
if (first === true || first === 1) {

@@ -318,6 +363,6 @@ id = this.indexOf(needle);

// Use the count variable for readability
count = first;
let count = first;
// Return everything after a specific numbered occurence
arr = this.split(needle);
let arr = this.split(needle);

@@ -343,12 +388,12 @@ if (arr.length <= count) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
* @version 0.9.0
*
* @param {String} needle The string to look for
* @param {string} needle The string to look for
*
* @return {String} The string after the needle
* @return {string} The string after the needle
*/
defProto('afterLast', function afterLast(needle) {
return Collection.String.prototype.after.call(this, needle, false);
defProto(function afterLast(needle) {
return Str.after(this, needle, false);
});

@@ -359,17 +404,13 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.2
* @version 0.9.0
*
* @param {String} needle The string to look for
* @param {Boolean} first Get from the first or last
* @param {string} needle The string to look for
* @param {boolean} first Get from the first or last
*
* @return {String} The string without any tags
* @return {string}
*/
defProto('before', function before(needle, first) {
defProto(function before(needle, first) {
var count,
arr,
id;
if (typeof first === 'undefined') {

@@ -379,2 +420,4 @@ first = true;

let id;
if (first === true || first === 1) {

@@ -387,6 +430,6 @@ id = this.indexOf(needle);

// Use the count variable for readability
count = first;
let count = first;
// Return everything before a specific numbered occurence
arr = this.split(needle);
let arr = this.split(needle);

@@ -412,12 +455,12 @@ if (arr.length <= count) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
* @version 0.9.0
*
* @param {String} needle The string to look for
* @param {string} needle The string to look for
*
* @return {String} The string after the needle
* @return {string} The string after the needle
*/
defProto('beforeLast', function beforeLast(needle) {
return Collection.String.prototype.before.call(this, needle, false);
defProto(function beforeLast(needle) {
return Str.before(this, needle, false);
});

@@ -428,11 +471,11 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.8
* @version 0.8.16
* @version 0.9.0
*
* @param {String} separator
* @param {string} separator
*
* @return {Array} The resulting splits
*/
defProto('splitOnce', function splitOnce(separator) {
defProto(function splitOnce(separator) {

@@ -442,3 +485,3 @@ let index = this.indexOf(separator);

if (index == -1) {
return [this];
return [''+this];
}

@@ -455,14 +498,14 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.3.8
* @version 0.3.8
*
* @param {String} separator
* @param {Number} limit
* @param {string} separator
* @param {number} limit
*
* @return {Array} The resulting splits
*/
defProto('splitLimit', function splitLimit(separator, limit) {
defProto(function splitLimit(separator, limit) {
var result = [],
let result = [],
index = this.indexOf(separator),

@@ -485,16 +528,29 @@ count = 0,

const STATE_PLAINTEXT = Symbol('plaintext'),
STATE_HTML = Symbol('html'),
STATE_COMMENT = Symbol('comment'),
STATE_TAG_NAME = Symbol('tag_name'),
STATE_WHITESPACE = Symbol('whitespace'),
STATE_TAG_CONTENT = Symbol('tag_content'),
STATE_ATTR_NAME = Symbol('attribute_name'),
STATE_ATTR_VAL = Symbol('attribute_value'),
STATE_SCRIPT = Symbol('script'),
STATE_STRING_D = Symbol('string_double'),
STATE_STRING_S = Symbol('string_single'),
STATE_ATTR_IDENT = Symbol('identifier');
const NORMALIZE_TAG_REGEX = /<\/?([^\s\/>]+)/,
STATE = {
PLAINTEXT : Symbol('plaintext'),
HTML : Symbol('html'),
COMMENT : Symbol('comment'),
TAG_NAME : Symbol('tag_name'),
WHITESPACE : Symbol('whitespace'),
TAG_CONTENT : Symbol('tag_content'),
ATTR_NAME : Symbol('attribute_name'),
ATTR_VAL : Symbol('attribute_value'),
SCRIPT : Symbol('script'),
STRING_D : Symbol('string_double'),
STRING_S : Symbol('string_single'),
ATTR_IDENT : Symbol('identifier')
PLAINTEXT : STATE_PLAINTEXT,
HTML : STATE_HTML,
COMMENT : STATE_COMMENT,
TAG_NAME : STATE_TAG_NAME,
WHITESPACE : STATE_WHITESPACE,
TAG_CONTENT : STATE_TAG_CONTENT,
ATTR_NAME : STATE_ATTR_NAME,
ATTR_VAL : STATE_ATTR_VAL,
SCRIPT : STATE_SCRIPT,
STRING_D : STATE_STRING_D,
STRING_S : STATE_STRING_S,
ATTR_IDENT : STATE_ATTR_IDENT
};

@@ -509,9 +565,9 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.3
* @version 0.6.3
*
* @param {String} tag_buffer
* @param {string} tag_buffer
*
* @return {String} The lowercase tag name
* @return {string} The lowercase tag name
*/

@@ -526,3 +582,3 @@ function getNormalizedTag(tag_buffer) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Eric Norris

@@ -532,3 +588,3 @@ * @since 0.6.5

*
* @param {String} source
* @param {string} source
* @param {Object} options

@@ -549,3 +605,3 @@ *

depth = 0,
state = STATE.PLAINTEXT,
state = STATE_PLAINTEXT,
last_tag = '',

@@ -743,8 +799,8 @@ line_nr = 0,

if (state == STATE.HTML && tag_buffer == '<' && block.can_replace && block.can_replace.includes(STATE.TAG_NAME)) {
state = STATE.TAG_NAME;
if (state == STATE_HTML && tag_buffer == '<' && block.can_replace && block.can_replace.includes(STATE_TAG_NAME)) {
state = STATE_TAG_NAME;
}
if (state === STATE.ATTR_VAL) {
state = STATE.TAG_CONTENT;
if (state === STATE_ATTR_VAL) {
state = STATE_TAG_CONTENT;
createToken(null);

@@ -759,3 +815,3 @@ } else if (current) {

if (state === STATE.SCRIPT) {
if (state === STATE_SCRIPT) {
if (!current) {

@@ -767,3 +823,3 @@ createToken('text');

if (source.substr(i+1, 7) == '/script') {
state = STATE.PLAINTEXT;
state = STATE_PLAINTEXT;
tag_buffer = '';

@@ -775,3 +831,3 @@ closing = true;

// Is the state still script?
if (state === STATE.SCRIPT) {
if (state === STATE_SCRIPT) {
current.value += char;

@@ -782,3 +838,3 @@ continue;

if (state === STATE.COMMENT) {
if (state === STATE_COMMENT) {
if (char == '-' && source.substr(i, 3) == '-->') {

@@ -788,3 +844,3 @@ current.value += '-->';

i += 2;
state = STATE.PLAINTEXT;
state = STATE_PLAINTEXT;
continue;

@@ -797,3 +853,3 @@ }

if (state === STATE.ATTR_VAL) {
if (state === STATE_ATTR_VAL) {

@@ -807,14 +863,14 @@ if (!char.trim()) {

state = STATE.TAG_CONTENT;
state = STATE_TAG_CONTENT;
createToken(null);
} else if (char == '"') {
state = STATE.STRING_D;
state = STATE_STRING_D;
createToken('string_open', char);
createToken('string');
} else if (char == "'") {
state = STATE.STRING_S;
state = STATE_STRING_S;
createToken('string_open', char);
createToken('string');
} else {
state = STATE.ATTR_IDENT;
state = STATE_ATTR_IDENT;
createToken('identifier', char);

@@ -826,3 +882,3 @@ }

if (state === STATE.STRING_D) {
if (state === STATE_STRING_D) {

@@ -836,3 +892,3 @@ if (char == '<' || char == '>') {

createToken(null);
state = STATE.TAG_CONTENT;
state = STATE_TAG_CONTENT;
continue;

@@ -846,3 +902,3 @@ }

if (state === STATE.STRING_S) {
if (state === STATE_STRING_S) {

@@ -856,3 +912,3 @@ if (char == '<' || char == '>') {

createToken(null);
state = STATE.TAG_CONTENT;
state = STATE_TAG_CONTENT;
continue;

@@ -866,7 +922,7 @@ }

if (state === STATE.ATTR_IDENT) {
if (state === STATE_ATTR_IDENT) {
if (!char.trim() || char == '>' || char == '"' || char == "'" || char == '`' || char == '=' || char == '<') {
// Ignore spaces right after the =
state = STATE.TAG_CONTENT;
state = STATE_TAG_CONTENT;
createToken(null);

@@ -881,7 +937,7 @@ i--;

if (state === STATE.PLAINTEXT) {
if (state === STATE_PLAINTEXT) {
if (char == '<' && source[i + 1] && source[i + 1].trim()) {
if (source.substr(i, 4) == '<!--') {
state = STATE.COMMENT;
state = STATE_COMMENT;
createToken('comment', char);

@@ -892,3 +948,3 @@ tag_buffer = '';

state = STATE.HTML;
state = STATE_HTML;
tag_buffer += char;

@@ -937,7 +993,7 @@

if (state === STATE.COMMENT) {
if (state === STATE_COMMENT) {
if (char == '>') {
if (tag_buffer.slice(-2) == '--') {
// Close the comment
state = STATE.PLAINTEXT;
state = STATE_PLAINTEXT;
createToken(null);

@@ -955,7 +1011,7 @@ }

if (state === STATE.TAG_NAME || state === STATE.TAG_CONTENT) {
if (state === STATE_TAG_NAME || state === STATE_TAG_CONTENT) {
// Handle self-closing tags without whitespace, like <br/>
if (state === STATE.TAG_NAME && char === '/') {
state = STATE.TAG_CONTENT;
if (state === STATE_TAG_NAME && char === '/') {
state = STATE_TAG_CONTENT;
}

@@ -966,4 +1022,4 @@

createToken('whitespace', char);
if (state === STATE.TAG_NAME) {
state = STATE.TAG_CONTENT;
if (state === STATE_TAG_NAME) {
state = STATE_TAG_CONTENT;
}

@@ -984,5 +1040,5 @@ } else {

if (!closing && last_tag.toLowerCase() == 'script') {
state = STATE.SCRIPT;
state = STATE_SCRIPT;
} else {
state = STATE.PLAINTEXT;
state = STATE_PLAINTEXT;
}

@@ -993,3 +1049,3 @@

depth++;
} else if (state === STATE.TAG_NAME) {
} else if (state === STATE_TAG_NAME) {
current.value += char;

@@ -1008,5 +1064,5 @@ last_tag += char;

if (!closing && last_tag.toLowerCase() == 'script') {
state = STATE.SCRIPT;
state = STATE_SCRIPT;
} else {
state = STATE.PLAINTEXT;
state = STATE_PLAINTEXT;
}

@@ -1023,3 +1079,3 @@

state = STATE.ATTR_NAME;
state = STATE_ATTR_NAME;

@@ -1032,6 +1088,6 @@ createToken('attribute', char);

if (state === STATE.ATTR_NAME && !depth) {
if (state === STATE_ATTR_NAME && !depth) {
if (!char.trim() || char == '>') {
i--;
state = STATE.TAG_CONTENT;
state = STATE_TAG_CONTENT;
continue;

@@ -1042,3 +1098,3 @@ }

createToken('equals', '=');
state = STATE.ATTR_VAL;
state = STATE_ATTR_VAL;
continue;

@@ -1055,6 +1111,6 @@ }

if (char == '!' && source.substr(i, 2) == '!-') {
state = STATE.COMMENT;
state = STATE_COMMENT;
createToken('comment', char);
} else {
state = STATE.TAG_NAME;
state = STATE_TAG_NAME;
last_tag = char;

@@ -1079,3 +1135,3 @@ createToken('tag_name', char);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2

@@ -1087,3 +1143,3 @@ * @version 0.6.5

*
* @return {String} The string without any tags
* @return {string} The string without any tags
*/

@@ -1143,3 +1199,3 @@ defProto(function stripTags(allowed_tags, tag_replacement) {

if (state == STATE.HTML) {
if (state == STATE_HTML) {
buf += token.value;

@@ -1176,3 +1232,3 @@

} else if (token.type == 'open_bracket') {
state = STATE.HTML;
state = STATE_HTML;
buf = token.value;

@@ -1190,12 +1246,10 @@ } else {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.3
* @version 0.7.13
* @version 0.9.0
*
* @return {String} The sluggifier string
* @return {string} The sluggifier string
*/
defProto(function slug(separator) {
var result;
// Get the separator to use, defaults to hyphen

@@ -1205,9 +1259,9 @@ separator = separator || '-';

// Convert to lowercase
result = this.toLowerCase();
let result = this.toLowerCase();
// Romanize the string (remove diacritics)
result = Collection.String.prototype.romanize.call(result);
result = Str.romanize(result);
// Decode HTML
result = Collection.String.prototype.decodeHTML.call(result);
result = Str.decodeHTML(result);

@@ -1239,8 +1293,8 @@ // Replace non-words with placeholders

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.1.4
*
* @param {String} open The open tag
* @param {String} close The close tag
* @param {string} open The open tag
* @param {string} close The close tag
*

@@ -1251,3 +1305,3 @@ * @return {Array} An array of objects

var closeLen = close.length,
let closeLen = close.length,
openLen = open.length,

@@ -1257,3 +1311,2 @@ result = [],

str = this,
length,
isOpen,

@@ -1264,3 +1317,3 @@ obj,

length = str.length;
let length = str.length;

@@ -1321,18 +1374,15 @@ for (i = 0; i < length; i++) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.2
* @version 0.6.5
*
* @param {Number} length The maximum length of the string
* @param {Boolean} word Cut off at a word border
* @param {String} ellipsis How to indicate it's been cut
* @param {number} length The maximum length of the string
* @param {boolean} word Cut off at a word border
* @param {string} ellipsis How to indicate it's been cut
*
* @return {String} The truncated string
* @return {string} The truncated string
*/
defProto(function truncate(length, word, ellipsis) {
var simpleCut,
index,
e_len,
len = Str.countCharacters(this);
let len = Str.countCharacters(this);

@@ -1349,18 +1399,18 @@ if (len <= length) {

e_len = Str.countCharacters(ellipsis);
let e_len = Str.countCharacters(ellipsis);
// Get the simple cut
simpleCut = Str.substrCharacters(this, 0, length - e_len);
let simple_cut = Str.substrCharacters(this, 0, length - e_len);
if (typeof word === 'undefined' || word) {
// Get the last position of a word boundary
index = Math.max(simpleCut.lastIndexOf(' '), simpleCut.lastIndexOf('.'), simpleCut.lastIndexOf('!'), simpleCut.lastIndexOf('?'));
let index = Math.max(simple_cut.lastIndexOf(' '), simple_cut.lastIndexOf('.'), simple_cut.lastIndexOf('!'), simple_cut.lastIndexOf('?'));
// If a word boundary was found near the end of the string...
if (index !== -1 && index >= (length - 15)) {
simpleCut = simpleCut.substr(0, index);
simple_cut = simple_cut.substr(0, index);
}
}
return simpleCut + ellipsis;
return simple_cut + ellipsis;
});

@@ -1371,7 +1421,7 @@

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.0.1
*
* @return {Number} The number of capitals in the string
* @return {number} The number of capitals in the string
*/

@@ -1385,14 +1435,10 @@ defProto(function capitals() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.6.5
*
* @return {Number} The number of times the string appears
* @return {number} The number of times the string appears
*/
defProto(function count(word) {
var result,
len,
pos;
if (word == null || word === '') {

@@ -1402,3 +1448,4 @@ return Str.countCharacters(this);

len = this.length;
let len = this.length,
result;

@@ -1409,3 +1456,3 @@ // When the string is less than 500 characters long, use a loop

result = 0;
pos = 0;
let pos = 0;

@@ -1426,3 +1473,3 @@ while(true) {

// If it's longer, use a regex
result = this.match(new RegExp(word, 'g'));
result = this.match(RegExp(word, 'g'));

@@ -1439,7 +1486,7 @@ if (!result) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.6
* @version 0.6.6
*
* @param {String} needle
* @param {string} needle
*

@@ -1450,3 +1497,3 @@ * @return {Array} All the indexes

var result = [],
let result = [],
i = -1;

@@ -1462,20 +1509,5 @@

/**
* See if a string starts with the given word
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.0.1
* @version 0.3.5
*
* @param {String} str
*
* @return {Boolean}
*/
defProto(function startsWith(str) {
return this.slice(0, str.length) == str;
}, true);
/**
* See if a string starts with any of the given strings
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -1486,3 +1518,3 @@ * @version 0.5.6

*
* @return {Boolean}
* @return {boolean}
*/

@@ -1507,25 +1539,5 @@ defProto(function startsWithAny(strings) {

/**
* See if a string ends with the given word
*
* @author Jelle De Loecker <jelle@develry.be>
* @since 0.0.1
* @version 0.3.5
*
* @param {String} str
*
* @return {Boolean}
*/
defProto(function endsWith(str) {
if (str === '') {
return true;
}
return this.slice(-str.length) == str;
}, true);
/**
* See if a string ends with any of the given strings
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.6

@@ -1536,3 +1548,3 @@ * @version 0.5.6

*
* @return {Boolean}
* @return {boolean}
*/

@@ -1559,13 +1571,13 @@ defProto(function endsWithAny(strings) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.4
*
* @param {String} postfixString The string to append
* @param {string} postfixString The string to append
*
* @return {String} The string with the postfix added to it
* @return {string} The string with the postfix added to it
*/
defProto(function postfix(postfixString) {
var str = ''+this;
let str = ''+this;

@@ -1576,3 +1588,3 @@ // If the given postfix isn't a string, return

// Append the postfix if it isn't present yet
if (!Str.endsWith(str, postfixString)) str += postfixString;
if (!str.endsWith(postfixString)) str += postfixString;

@@ -1585,7 +1597,7 @@ return str;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -1599,7 +1611,7 @@ defProto(function isHex() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {String}
* @return {string}
*/

@@ -1613,9 +1625,9 @@ defProto(function despace() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @param {Number} number The amount of times to multiply the string
* @param {number} number The amount of times to multiply the string
*
* @return {String}
* @return {string}
*/

@@ -1642,7 +1654,7 @@ defProto(function multiply(number) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.1.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -1656,9 +1668,9 @@ defProto(function isObjectId() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.0.1
*
* @param {String} hashType
* @param {string} hashType
*
* @return {Boolean}
* @return {boolean}
*/

@@ -1696,7 +1708,7 @@ defProto(function isHash(hashType) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.3.10
*
* @return {Number}
* @return {number}
*/

@@ -1721,10 +1733,10 @@ defProto(function numberHash() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1
* @version 0.8.1
*
* @param {Number} start
* @param {Number} end
* @param {number} start
* @param {number} end
*
* @return {String}
* @return {string}
*/

@@ -1781,23 +1793,15 @@ defProto(function checksum(start, end) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4
* @version 0.5.0
* @version 0.9.0
*
* @return {Number}
* @return {number}
*/
defProto(function fowler() {
var strToByteArray,
strToHashLen,
byteToHash,
byteArray,
hash,
let str_to_hash_len = this.length,
hash = 2166136261,
i;
strToHashLen = this.length;
// Start value containing offset
hash = 2166136261;
for (i = 0; i < strToHashLen; i++) {
for (i = 0; i < str_to_hash_len; i++) {
hash ^= this.charCodeAt(i);

@@ -1813,3 +1817,3 @@ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -1822,3 +1826,3 @@ * @version 0.1.0

var regex = /:(\w*)/g,
let regex = /:(\w*)/g,
result = [],

@@ -1839,3 +1843,3 @@ match;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.0.1

@@ -1845,5 +1849,5 @@ * @version 0.2.0

* @param {Object} values
* @param {Boolean} remove_used Remove used entries from values object
* @param {boolean} remove_used Remove used entries from values object
*
* @return {String}
* @return {string}
*/

@@ -1907,3 +1911,3 @@ defProto(function fillPlaceholders(values, remove_used) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1932,3 +1936,3 @@ * @version 0.1.4

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.1.4

@@ -1939,3 +1943,3 @@ * @version 0.7.0

*
* @return {String}
* @return {string}
*/

@@ -2102,14 +2106,11 @@ defProto(function assign(_values, remove_used, cast) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.9
* @version 0.5.9
* @version 0.9.0
*
* @return {Boolean}
* @return {boolean}
*/
defProto(function isEmptyWhitespace() {
var len = this.length,
i;
if (!len) {
if (!this.length) {
return true;

@@ -2124,12 +2125,10 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.5.9
* @version 0.5.9
* @version 0.9.0
*
* @return {Boolean}
* @return {boolean}
*/
defProto(function isEmptyWhitespaceHTML() {
var str;
if (Str.isEmptyWhitespace(this)) {

@@ -2140,3 +2139,3 @@ return true;

if (~this.indexOf('<') && ~this.indexOf('>')) {
str = Str.stripTags(this);
let str = Str.stripTags(this);
return Str.isEmptyWhitespace(str);

@@ -2151,7 +2150,7 @@ }

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5
* @version 0.6.5
*
* @return {Boolean}
* @return {boolean}
*/

@@ -2165,7 +2164,7 @@ defProto(function isUpperCase() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5
* @version 0.6.5
*
* @return {Boolean}
* @return {boolean}
*/

@@ -2179,7 +2178,7 @@ defProto(function isLowerCase() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5
* @version 0.6.5
*
* @return {Number}
* @return {number}
*/

@@ -2194,10 +2193,10 @@ defProto(function countCharacters() {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5
* @version 0.6.5
*
* @param {Number} begin
* @param {Number} length
* @param {number} begin
* @param {number} length
*
* @return {String}
* @return {string}
*/

@@ -2241,15 +2240,13 @@ defProto(function substrCharacters(begin, length) {

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.6.5
* @version 0.6.5
*
* @param {Number} begin
* @param {Number} end
* @param {number} begin
* @param {number} end
*
* @return {String}
* @return {string}
*/
defProto(function substringCharacters(begin, end) {
var match;
if (typeof begin !== 'number' || begin < 0) {

@@ -2263,3 +2260,3 @@ begin = 0;

match = this.match(astral_rx);
let match = this.match(astral_rx);

@@ -2273,3 +2270,3 @@ return match === null ? '' : match.slice(begin, end).join('');

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.1

@@ -2287,7 +2284,7 @@ * @version 0.7.1

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.2
* @version 0.7.2
*
* @return {String}
* @return {string}
*/

@@ -2334,3 +2331,3 @@ defProto(function dedent() {

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.13

@@ -2337,0 +2334,0 @@ * @version 0.7.13

@@ -6,3 +6,3 @@ const Str = Bound.String;

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -28,3 +28,3 @@ * @version 0.7.13

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -42,3 +42,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -61,3 +61,3 @@ * @version 0.7.13

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -78,3 +78,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -95,3 +95,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -113,3 +113,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -135,3 +135,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -152,3 +152,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -178,3 +178,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.13

@@ -202,3 +202,3 @@ * @version 0.7.13

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.13

@@ -222,3 +222,3 @@ * @version 0.7.13

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -236,3 +236,3 @@ * @version 0.7.0

*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0

@@ -239,0 +239,0 @@ * @version 0.7.0

/**
* Is this a symbol?
*
* @author Jelle De Loecker <jelle@develry.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.7.0
* @version 0.7.0
*
* @return {Boolean}
* @return {boolean}
*/

@@ -10,0 +10,0 @@ Blast.defineStatic(Symbol, function isSymbol(value) {

@@ -0,7 +1,9 @@

const DATA = Symbol('data');
/**
* The WeakValueMap Class
*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/

@@ -11,7 +13,7 @@ const WeakValueMap = Fn.inherits(null, function WeakValueMap(entries) {

// The actual data
this._data = new Map();
this[DATA] = new Map();
if (entries) {
for (const [key, val] of entries) {
this._data.set(key, new WeakRef(val));
this[DATA].set(key, new WeakRef(val));
}

@@ -24,8 +26,8 @@ }

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/
WeakValueMap.setMethod(function clear() {
this._data.clear();
this[DATA].clear();
});

@@ -36,9 +38,9 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/
WeakValueMap.setMethod('delete', function _delete(key) {
let has = this.has(key);
this._data.delete(key);
this[DATA].delete(key);
return has;

@@ -50,8 +52,8 @@ });

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/
WeakValueMap.setMethod(function has(key) {
return !!this._data.get(key)?.deref();
return !!this[DATA].get(key)?.deref();
});

@@ -62,9 +64,9 @@

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/
WeakValueMap.setMethod(function get(key) {
let ref = this._data.get(key);
let ref = this[DATA].get(key);

@@ -79,3 +81,3 @@ if (ref) {

this._data.delete(key);
this[DATA].delete(key);
}

@@ -87,5 +89,5 @@ });

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/

@@ -98,3 +100,3 @@ WeakValueMap.setMethod(function set(key, value) {

this._data.set(key, new WeakRef(value));
this[DATA].set(key, new WeakRef(value));
return this;

@@ -106,8 +108,8 @@ });

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8
* @version 0.8.8
* @version 0.9.0
*/
WeakValueMap.setMethod(function *entries() {
for (const [key, value] of this._data.entries()) {
for (const [key, value] of this[DATA].entries()) {
const inner = value.deref();

@@ -118,3 +120,3 @@

} else {
this._data.delete(key);
this[DATA].delete(key);
}

@@ -127,3 +129,3 @@ }

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8

@@ -141,3 +143,3 @@ * @version 0.8.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8

@@ -155,3 +157,3 @@ * @version 0.8.8

*
* @author Jelle De Loecker <jelle@elevenways.be>
* @author Jelle De Loecker <jelle@elevenways.be>
* @since 0.8.8

@@ -158,0 +160,0 @@ * @version 0.8.8

{
"name": "protoblast",
"description": "Native object expansion library",
"version": "0.8.18",
"version": "0.9.0",
"author": "Jelle De Loecker <jelle@elevenways.be>",

@@ -6,0 +6,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc