-
<static>
Array.clone(arrayToClone,
bFullClone) →
{Array.<T>}
-
This method clones an array.
Parameters:
Name |
Type |
Description |
arrayToClone |
Array.<T>
|
The array you want to clone. |
bFullClone |
Boolean |
A variable that controls
whether the method clones the content 'arrayToClone'
references. Default: false. |
Returns:
- Type
- Array.<T>
-
<static>
Array.remove(array, obj) → {T[]}
-
This static method enables you to remove
an object from an array.
Parameters:
Name |
Type |
Description |
array |
Array.<T>
|
The array you want to remove
the object from. |
obj |
T |
the object you want to remove. |
Returns:
An array with the removed object or empty
if it wasn't in the array
- Type
- T[]
-
<static>
assertArray(obj, name)
-
Assert that the argument is an array;
else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Array |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertArrayOf(obj, base, name,
baseName)
-
Asserts that the argument is an array,
and that each item in the array is of the type specified; else
throws an error
Parameters:
Name |
Type |
Description |
obj |
Array |
the array to test |
base |
String |
Function |
the typeof string or a base
class function |
name |
String |
the name of the object being
tested |
baseName |
String |
the name of the base class
function |
-
<static>
assertArrayOf(obj, Array, name,
Array)
-
Asserts that the argument is an array,
and that each item in the array is one of the type specified;
else throws an error.
Parameters:
Name |
Type |
Description |
obj |
Array |
the array to test |
Array |
Array.<(String|Function)>
|
of typeof string or a base
class function |
name |
String |
the name of the object being
tested |
Array |
Array.<String>
|
of the base class function
names |
-
<static>
assertArrayOf(obj, base, name,
baseName)
-
If not null, asserts that the argument
is an array, and that each item in the array is one of the type
specified; else throws an error.
Parameters:
Name |
Type |
Description |
obj |
Array |
the array to test |
base |
String |
Function |
the typeof string or a base
class function |
name |
String |
the name of the object being
tested |
baseName |
String |
the name of the base class
function |
-
<static>
assertArrayOfNumbers(obj, name)
-
Assert that the argument is an array and
that each element in it is a number; else throw an error
Parameters:
Name |
Type |
Description |
obj |
Array |
the object to test |
name |
String |
the name of the object |
-
<static>
assertArrayOfStrings(obj, name)
-
Assert that the argument is an array and
that each element in it is a string; else throw an error
Parameters:
Name |
Type |
Description |
obj |
Array |
the object to test |
name |
String |
the name of the object |
-
<static>
assertBoolean(obj, name)
-
Assert that the argument is a boolean;
else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertElement(obj, name)
-
Assert that the argument is a DOM
element; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertEquals(obj, value, name)
-
Assert that the argument (strictly)
equals the specified value
Parameters:
Name |
Type |
Description |
obj |
Object |
the actual object to test |
value |
Object |
the expected value of the
object to test against |
name |
String |
the name of the function
argument being tested |
-
<static>
assertFilterReturnsTrue(obj,
the, the)
-
Assert that the specified function
return true; else throw an Error
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to pass to the
filter function &@param {String} name the name of the
object |
the |
Function
|
filter function |
the |
String |
name of the filter |
-
<static>
assertFunction(obj, name)
-
Assert that the argument is a function;
else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Function
|
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertInstanceOf(obj, base,
name, baseName)
-
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
base |
Function
|
a base class |
name |
String |
the name of the function
argument being tested |
baseName |
String |
the name of the base class |
-
<static>
assertInstanceOfModule(obj,
sName, sBaseModule, sBaseClass)
-
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
sName |
String |
the name of the object being
tested (for debugging). Required. |
sBaseModule |
String |
the module path. Required. |
sBaseClass |
String |
the name of the base class.
Required. |
-
<static>
assertInstanceOfModule(obj,
sName, sBaseModule, sBaseClass)
-
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
sName |
String |
the name of the object being
tested (for debugging). Required. |
sBaseModule |
String |
the module path. Required. |
sBaseClass |
String |
the name of the base class.
Required. |
-
<static>
assertInteger(obj, name)
-
Assert that the argument is a number
that is an int; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Number |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertInteger(obj, name)
-
Assert that if the argument is not null,
it is a number that is an int; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Number |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertJQueryElement($element,
sName)
-
Assert that the argument is a JQuery
object containing an element; else throw an error.
Parameters:
Name |
Type |
Description |
$element |
jquery |
the jquery element to test |
sName |
String |
the name of the object being
tested |
-
<static>
assertJQueryElements($elements,
sName, nOptionalExpectedNumElements)
-
Assert that the argument is a JQuery
object containing one or more elements; else throw an error.
Parameters:
Name |
Type |
Description |
$elements |
jquery |
the jquery element to test |
sName |
String |
the name of the object being
tested |
nOptionalExpectedNumElements |
integer |
the optional expected number of
elements. If not specified the function validates that
there is at least one element. |
-
<static>
assertJQueryEvent($event,
sName)
-
Assert that the argument is a JQuery
event; else throw an error.
Parameters:
Name |
Type |
Description |
$event |
JQuery.Event
|
The jquery event to test |
sName |
String |
The name of the object being
tested |
-
<static>
assertNonEmptyArray(obj, name)
-
Assert that the argument object is a
non-empty array; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertNonEmptyString(obj, name)
-
Assert that the argument is a string and
not empty, else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
String |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertNoReferenceCycles(oObject,
sName, aReferencesAlongPath)
-
Parameters:
Name |
Type |
Argument |
Description |
oObject |
Object |
|
the object to test for any
cyclic references |
sName |
String |
|
the name of the object being
tested |
aReferencesAlongPath |
Array |
<optional>
|
references that should not be
seen in the object else, we have detected a cycle |
-
<static>
assertNotNull(obj, name)
-
Assert that the argument is a function;
else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertNumber(obj, name)
-
Assert that the argument is a number;
else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Number |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertNumberBetween(obj, obj1,
obj2, name)
-
Assert that the argument is a number
within and including a specific range; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Number |
the object to test |
obj1 |
Number |
the lower boundary (must be a
number) |
obj2 |
Number |
the upper boundary (must be a
number) |
name |
String |
the name of the function
argument being tested |
-
<static>
assertNumberComparison(number,
name, operator, operand, operandName)
-
Assert that the argument is a number
that passes the specified comparison; else throw an Error.
Parameters:
Name |
Type |
Description |
number |
Number |
the number to test |
name |
String |
the name of the number being
tested |
operator |
String |
the comparison operator, one of
"<", "<=", " ==", " !=", ">", or ">=" |
operand |
Number |
the number to test against |
operandName |
String |
the name of the operand |
-
<static>
assertObject(obj, name)
-
Assert that the argument is a non null
object; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertObject(obj, name, key)
-
Assert that the first argument has the
third argument as its key; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the the object
being tested |
key |
String |
the key to test |
-
<static>
assertOptionalArray(obj, name)
-
Assert that the argument is an array or
undefined; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Array |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalBoolean(obj,
name)
-
Assert that the argument is either
null/undefined or a boolean; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalElement(obj,
name)
-
Assert that the argument is either
null/undefined or an element; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalFunction(obj,
name)
-
Assert that the argument is either
null/undefined or a function; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalInstanceOf(obj,
base, name, baseName)
-
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
base |
Function
|
a base class |
name |
String |
the name of the function
argument being tested |
baseName |
String |
the name of the base class |
-
<static>
assertOptionalJQueryElement($element,
sName)
-
Assert that the argument is either
null/undefined or a JQuery object containing an element; else
throw an error.
Parameters:
Name |
Type |
Description |
$element |
jquery |
the jquery element to test |
sName |
String |
the name of the object being
tested |
-
<static>
assertOptionalJQueryElements($elements,
sName, nOptionalExpectedNumElements)
-
Assert that the argument is either
null/undefined or a JQuery object containing one or more
elements; else throw an error.
Parameters:
Name |
Type |
Description |
$elements |
jquery |
the jquery elements to test |
sName |
String |
the name of the object being
tested |
nOptionalExpectedNumElements |
integer |
the optional expected number of
elements. If not specified the function validates that
there is at least one element. |
-
<static>
assertOptionalNumber(obj, name)
-
Assert that the argument is either
null/undefined or a number; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
String |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalObject(obj, name)
-
Assert that the argument is either
null/undefined or an object; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalRegularExpression(oObj,
sName)
-
Assert that the argument is either null
or a regular expression; else throw an Error.
Parameters:
Name |
Type |
Description |
oObj |
RegularExpression
|
the object to test |
sName |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalString(obj, name)
-
Assert that the argument is either
null/undefined or a string; else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
String |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertOptionalValidEnum(obj,
either, the)
-
Assert that the specified object is
either null/undefined or one of the possible values in the
enumeration; else throw an Error
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test &@param
{String} name the name of the function argument being
tested |
either |
Array | Object |
an array or an associative map
of possible enum values |
the |
String |
name of the enumeration |
-
<static>
assertRegularExpression(oObj,
sName)
-
Assert that the argument is a regular
expression; else throw an Error.
Parameters:
Name |
Type |
Description |
oObj |
RegularExpression
|
the object to test |
sName |
String |
the name of the function
argument being tested |
-
<static>
assertString(obj, name)
-
Assert that the argument is a string;
else throw an Error.
Parameters:
Name |
Type |
Description |
obj |
String |
the object to test |
name |
String |
the name of the function
argument being tested |
-
<static>
assertTrue(obj, the)
-
Asserts that the given argument is
strictly true
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
the |
String |
name of the assertion |
-
<static>
assertTrue(obj, the)
-
Asserts that the given argument is
strictly false
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
the |
String |
name of the assertion |
-
<static>
assertTypeOf(obj,
sExpectedTypeOf, name)
-
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
sExpectedTypeOf |
String |
the expected string when
calling typeof(obj) |
name |
String |
the name of the obj being
tested |
-
<static>
assertValidEnum(obj, either,
the)
-
Assert that the specified object is one
of the possible values in the enumeration; else throw an Error
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test &@param
{String} name the name of the function argument being
tested |
either |
Array | Object |
an array or an associative map
of possible enum values |
the |
String |
name of the enumeration |
-
<static>
assertVersionCompatible() → {Number}
-
Validate that an imported version match
the currently supported. If the imported has a lower number; a
negative number, which indicates the position of the first
difference, is returned. Differences in the last position is
ignored.
Throws:
-
for parse errors and if the imported
version is higher.
-
- Type
- module:obitech-framework/jsx#jsx.OBIError
Returns:
Zero for exact match or a negative
numbers indicating where the first diference is found.
- Type
- Number
-
<static>
callFunction(sDescription,
fFunction, fOnError, logger,
console)
→ {Error}
-
Call a function and do appropriate error
handling.
Parameters:
Name |
Type |
Argument |
Description |
sDescription |
String |
|
A description to be included in
error messages. |
fFunction |
Function
|
|
a function taking no parameters |
fOnError |
Function
|
<optional>
|
an optional er taking an error
parameter |
logger |
Object |
<optional>
|
an optional logger, which will
be used to report errors that are not consumed by an error |
console |
Object |
<optional>
|
an optional console. Any errors
that cannot be logged to logged will use either system
console or passed in console |
Returns:
Any error raised by the function or null
of the operation completed successfully.
- Type
- Error
-
<static>
clock(timestamp)
-
simple logical clock usage: jsx.clock()
returns current counter, and increments internal counter by 1
Parameters:
Name |
Type |
Description |
timestamp |
|
passing it a value will loosely
sync this clock with the given timestamp such that its
internal counter is at least equal to the specified value |
-
<static>
clone(obj)
→ {T}
-
This method enables you to create a deep
clone of the specified object.
Parameters:
Name |
Type |
Description |
obj |
T |
The object, array or primitive
that you want to clone. |
Returns:
A clone of the specified object, array or
primitive
- Type
- T
-
<static>
compareVersionStrings(sVersionA,
sVersionB) → {number}
-
Compare two three digit version strings
separated by periods. Returns a negative number if the first one
is lower, zero if the same, a positive number if the first one
is higher. The absolute value of the returned value is the first
position on which the two versions differ.
Parameters:
Name |
Type |
Description |
sVersionA |
string |
the first version number |
sVersionB |
string |
the second version number |
Returns:
- Type
- number
-
<static>
createErrorFromErrorPayload(oPayload, Optional)
→ {Error}
-
Creates an error object from a given
error description which can be itself, an error, a string, or a
json object. If stringify fails to process the object, we return
that error instead.
Parameters:
Name |
Type |
Argument |
Description |
oPayload |
Error | String | Object
|
<optional>
|
|
Optional |
String |
|
error code. Callers can access
this via the sBITechErrorCode property on the returned
object. |
Returns:
error constructed from oPayload or null
if oPayload and sErrorCode are both null
- Type
- Error
-
<static>
createInstance(constructorFunc,
args)
-
Creates an instance of the provided
function passing provides args to the constructor function.
Parameters:
Name |
Type |
Description |
constructorFunc |
|
Constructor function |
args |
|
arguments array |
-
<static>
debounce(fCallback,
nTimeoutDelay, oOptions)
-
This method is used to limit the number
of times a function is executed. The callback will only be
executed once after a 'nTimeoutDelay' from the last triggered
event.
Parameters:
-
<static>
defaultParam()
-
if val is undefined, returns defaultVal,
else returns val Usage:
var myFcn = function(x) {
x = defaultParam(x, 20); // defaults to 20
// do stuff with x
}
-
<static>
extend(subClass, baseClass)
-
This method enables you to implement
inheritance by extending the specified baseClass with the
specified subClass.
Parameters:
Name |
Type |
Description |
subClass |
Function
|
A reference to the subclass's
constructor function. |
baseClass |
Function
|
A reference to the superclass's
constructor function. |
-
<static>
freezeObject(obj, name) → {Object}
-
Freeze an object if the JavaScript
engine supports Object.freeze.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to freeze |
name |
String |
the name of the function
argument being tested |
Returns:
The frozen object or the original object
if freeze isn't supported
- Type
- Object
-
<static>
generateUUID()
→ {String}
-
Returns a UUID like
f81d4fae-7dec-41d0-a765-00a0c91e6bf6 RFC-4122 Version 4
compliant http://www.ietf.org/rfc/rfc4122.txt
Returns:
uuid
- Type
- String
-
<static>
getErrorObject(category,
message, innerError) →
{obitech-framework/jsx#OBIError}
-
Create an error object suitable for
throwing or passing as argument to onError methods.
Parameters:
Name |
Type |
Description |
category |
|
|
message |
|
|
innerError |
|
|
Returns:
error object
- Type
- obitech-framework/jsx#OBIError
-
<static>
getTimeStamp()
→ {number}
-
Return a time stamp value with as high
resulution as possible. This should only be used for computing
time differences.
Returns:
time with milli second precision with an
unknown base point.
- Type
- number
-
<static>
identityFunctor(x, makeClone) → {T}
-
Returns a function that returns (a clone
of) the parameter
Parameters:
Name |
Type |
Description |
x |
T |
|
makeClone |
boolean |
|
Returns:
- Type
- T
-
<static>
isArray(obj)
→ {Boolean}
-
Returns true if the argument is an
array, else returns false. This is an alias for Array.isArray
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
- Type
- Boolean
-
<static>
isBoolean(obj)
→ {Boolean}
-
Returns true if obj is a boolean
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is a boolean
- Type
- Boolean
-
<static>
isElement(obj)
→ {boolean}
-
Check if argument is a DOM element.
Works for both XML and HTML elements.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is a DOM element
- Type
- boolean
-
<static>
isFunction(obj)
→ {boolean}
-
Check if argument is a function
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is a function
- Type
- boolean
-
<static>
isInstanceOf(obj, base)
-
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
base |
Function
|
a base class |
-
<static>
isInteger(obj)
→ {Boolean}
-
Returns true if obj is an integer
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is an integer
- Type
- Boolean
-
<static>
isNotNull(obj)
→ {boolean}
-
Check if argument is NOT null or
undefined.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is either not null and not
undefined
- Type
- boolean
-
<static>
isNull(obj)
→ {boolean}
-
This is an alias for isNullOrUndefined
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is either null or undefined
- Type
- boolean
-
<static>
isNullOrUndefined(obj) → {boolean}
-
Check if argument is null or undefined.
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is either null or undefined
- Type
- boolean
-
<static>
isObject(obj)
→ {Boolean}
-
Returns true if obj is a non-null object
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is a non-null object
- Type
- Boolean
-
<static>
isPrimitive(obj)
→ {Boolean}
-
Returns true if obj is primitive
(undefined/null, number, string, boolean, symbol)
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is primitive
- Type
- Boolean
-
<static>
isRegularExpression(oObj) → {Boolean}
-
Parameters:
Name |
Type |
Description |
oObj |
Object |
the object to test |
Returns:
true if oObj is an instance of RegExp
- Type
- Boolean
-
<static>
isUndefined(obj)
→ {boolean}
-
This is an alias for isNullOrUndefined
Parameters:
Name |
Type |
Description |
obj |
Object |
the object to test |
Returns:
true if obj is is either null or
undefined
- Type
- boolean
-
<static>
jsx.deepEqual(obj1, obj2) → {Boolean}
-
Loosely based on qunit's deepEqual obj1
and obj2 are JSON objects functions and non plain objects are
not supported!
Parameters:
Name |
Type |
Description |
obj1 |
Object |
a plain object / array /
primitive |
obj2 |
Object |
a plain object / array /
primitive |
Returns:
true if obj1 and obj2 are equal (strict
equality)
- Type
- Boolean
-
<static>
jsx.overlaySettings(source,
target, bClone)
-
Overlay settings from one settings
object ontop of another, optionally referencing parts of source.
Regular expressions and date types is not properly handled, only
regular JSON types.
Parameters:
Name |
Type |
Argument |
Description |
source |
object |
|
source object |
target |
object |
|
target object |
bClone |
boolean |
<optional>
|
optional flag to control of
cloning should be done, default true |
-
<static>
memoize()
-
memoize a function Usage:
var fib = jsx.memoize( function(n) {
return (n <= 1="" 1)="" ?="" :="" fib(n-1)="" +="" fib(n-2);="" });="" <="" pre="">
Returns:
a memoized function
-
<static>
openWindow(true, the, a)
-
A method to conditionally invoke
window.open. In DESKTOP mode we never want to open a new window.
Redirect instead. Otherwise we invoke window.open normally.
Parameters:
Name |
Type |
Description |
true |
boolean |
if DESKTOP mode, false
otherwise (REQUIRED) |
the |
String |
path to redirect to/open in new
window (REQUIRED) |
a |
String |
name for the new window
(OPTIONAL) |
-
<static>
parameterFunctor()
-
Usage:
var name = parameterFunctor("tim");
name(); // returns "tim"
name("rob"); // sets its internal state to "rob"; returns "rob"
name(); // returns "rob"
Returns:
function closure over the given
parameter. can get/set its value
-
<static>
parseIntExact()
→ {Number}
-
Parse an integer.
Returns:
the result
- Type
- Number
-
<static>
parseVersionString() → {Array.<Number>}
-
Parse a three digit version string
separated by periods.
Returns:
An array with three integers
- Type
- Array.<Number>
-
<static>
throttle(fCallback,
nTimeoutDelay, oOptions)
-
This method is used to limit the number
of times a function is executed. By default, the callback will
only be executed once every 'nTimeoutDelay'.
Parameters: