coffeescript-ui
Version:
Coffeescript User Interface System
205 lines (112 loc) • 5.59 kB
Markdown
# Utils
## CUI.util.assert\(condition, caller, description, debug\)
| Parameter | Type | Comment |
| :--- | :--- | :--- |
| condition | Boolean | Condition to evaluate |
| caller | String | The caller |
| description | String | Additional information |
| debug | Map | Debug Output |
**CUI.defaults.asserts** determines whether an assert check is performed or not. Default is _true_.
**CUI.defaults.asserts\_alert** determines, what happens in case of an assert:
* _debugger_: Starts the debugger
* _js_: Uses Javascript window.alert to display the assert.
* _cui_: Uses CUI.problem to display
* _off_: Surpresses the assert
In all cases, an **window.Error** is thrown. Default is _off_.
### Example
```
assert(typeof(myvar) == "string", "new MyClass", "myvar needs to be string", myvar: myvar)
```
## CUI.util.isUndef\(obj\)
Returns true if obj is undefined.
## CUI.util.isNull\(obj\)
Returns true if obj is null. An object is null if it is undefined or null.
## CUI.util.isString\(obj\)
Returns true if obj is String.
## CUI.util.isEmpty\(obj\)
Returns true if obj is empty. An object is empty, if it is null, "", false, [], or {}.
## CUI.util.isTrue\(obj\)
Returns true if obj is true. True is 1, true, "1" or "true".
## CUI.util.isFalse\(obj\)
Returns true if obj is false. False is 0, false, "0" or "false".
## CUI.util.isBoolean\(obj\)
Returns true if obj is true or false.
## CUI.util.isElement\(obj\)
Returns true if obj is instance of HTMLElement.
## CUI.util.isInteger\(obj\)
Returns true if obj is a number and and Integer.
## CUI.util.isPosInt\(obj\)
Returns true if obj is a positive Integer.
## CUI.util.isFloat\(obj\)
Returns true if obj is a number and Float.
## CUI.util.isPromise\(obj\)
Returns true if obj is a CUI.Promise or CUI.Deferred.
## CUI.util.isContent\(obj\)
Returns true if obj is considered a CUI-Content, that is HTMLElement, HTMLCollection, NodeList, Array, Function, or an object with a DOM-property which is an HTMLElement.
## CUI.util.isDeferred\(obj\)
Returns true if obj is a CUI.Deferred.
## CUI.util.escapeRegExp\(str\)
Returns **str **escaped for use inside a RegExp.
## CUI.util.getObjectClass\(obj\)
Returns the name of the Function used to create **obj**.
## CUI.util.getInt\(str\)
Returns the parsed Integer or null if no Integer is received.
## CUI.util.getIntOrString\(str\)
Checks str, if it is parses as Integer, returns the Integer, str otherwise.
## CUI.util.getFloat\(str\)
Returns the str parsed as Float, or null if otherwise.
## CUI.util.xor\(a, b\)
Returns a XOR b. Returns true if a or b are considered true, false if a and b are both true or false.
## CUI.util.toHtml\(str, space2nbsp\)
Returns str HTML-escaped, replaces space chars with if second parameter is given.
## CUI.util.toDash\(str\)
Returns str converted from CamelCase to a dash-notation.
## CUI.util.toCamel\(str, include\_first\)
Returns str converted from dash-notation to CamelCase. include\_first can be set to true, to also camel-case the first character.
## CUI.util.toClass\(str\)
Returns str suitable to be used as class name. Replaces \_ to - and spaces to -.
## CUI.util.toDot\(str\)
Returns str suitable to be used in CSS, replaces - to .
## CUI.util.removeFromArray\(value, array, compFunc\)
Removes **value **from **array**. Returns number of items removed.
A **compFunc** can be used to return \_true \_or \_false \_for each item in array. If **compFunc **is set, **value **is ignored.
## CUI.util.pushOntoArray\(value, array, compFunc\)
Appends **value **to the given **array**, if is not already in **array**.
A **compFunc** can be used to return \_true \_or \_false \_on each item in array.
Returns the idx of the pushed or existing **value**.
## CUI.util.idxInArray\(value, array, compFunc\)
Returns the index of the given **value **in **array**. -1 if not found.
A **compFunc** can be used to return \_true \_or \_false \_for each item in array. If **compFunc **is set, **value **is ignored.
## CUI.util.findInArray\(value, array, compFunc\)
Returns the item in **array **either matching **value **or using the **compFunc**. This is a handy function for searching thru an Array of Maps, where you want to match a certain property of the Map values.
## CUI.util.compareIndex\(a, b\)
Returns _-1_ if a < b, _1_ if a > b and _0_ otherwise.
## CUI.util.copyObject\(obj, deep\)
Returns a copy of the obj. With deep set to true, a deep copy is created. For instances of CUI.Element the "copy" method is called.
Types which are copied:
* string
* number
* boolean
* function \(as reference\)
* null
* undefined
* CUI.Element \(copy method is called\)
* CUI.Dummy \(as reference\)
* HTMLElement \(as reference\)
* Map
* Array
## CUI.util.dump\(obj, space\)
Returns a String suitable for output in console.debug. This replaces all undefined and null values by "<undefined>" and "<null>" resp., and then calls **JSON.stringify** to obtain a printable String of **obj**.
**space **is passed to JSON.stringify to format the JSON, defaults to _\t_.
## CUI.util.alert\_dump\(obj\)
Uses window.alert to dump obj to a Javascript-Alert.
## CUI.util.utoa\(str\)
Returns Base64 encoded ASCII representation of the passed UCS-2 String.
## CUI.util.atou\(str\)
Returns UCS-2 String representation from passed Base64 encoded ASCII.
## String.prototype.startsWith\(str\)
Implements **startsWith **for Strings.
## String.prototype.endsWith\(str\)
Implements **endsWith **for Strings.
## RegExp.escape\(str\)
Returns **str **escaped for use inside a RegExp.