Util

Monster. Util

Namespace for utilities.

Author:
  • schukai GmbH

Classes

Comparator
DeadMansSwitch

Class to be able to execute function chains

Processing

Class to be able to execute function chains

Methods

# (static) clone(obj) → {*}

With this function, objects can be cloned. The entire object tree is run through.

Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned. Global objects such as windows are also not cloned,

If an object has a method getClone(), this method is used to create the clone.

You can call the method via the monster namespace Monster.Util.clone().

<script type="module">
import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
Monster.Util.clone({})
</script>

Alternatively, you can also integrate this function individually.

<script type="module">
import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/util/clone.js';
clone({})
</script>
Parameters:
Name Type Description
obj *

object to be cloned

Since:
  • 1.0.0
Throws:

unable to clone obj! its type isn't supported.

Type
Error
Returns:
Type
*

# (static) deepFreeze(object) → {object}

Deep freeze a object

You can call the method via the monster namespace Monster.Util.deepFreeze().

<script type="module">
import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
Monster.Util.deepFreeze({})
</script>

Alternatively, you can also integrate this function individually.

<script type="module">
import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/util/freeze.js';
deepFreeze({})
</script>
Parameters:
Name Type Description
object object

object to be freeze

Since:
  • 1.0.0
Throws:

value is not a object

Type
TypeError
Returns:
Type
object

# (static) trimSpaces(value) → {string}

This special trim function allows to trim spaces that have been protected by a special escape character.

You can call the method via the monster namespace Monster.Util.trimSpaces().

<script type="module">
import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
Monster.Util.trimSpaces(" hello ")
</script>

Alternatively, you can also integrate this function individually.

<script type="module">
import {trimSpaces} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/util/trimspaces.js';
trimSpaces(' hello \\ ')
</script>

Hint: One stroke is escaped by the javascript interpreter, the second stroke escapes the stroke.

a\ b  ↦ a b
a\\ b ↦ a\ b
Parameters:
Name Type Description
value string
Since:
  • 1.24.0
Throws:

value is not a string

Type
TypeError
Returns:
Type
string

Type Definitions

# exampleCallback(a, b) → {integer}

This is the description for the callback function used by the operator

new Comparator(function (a, b) {
     if (a.v === b.v) return 0;
        return a.v < b.v ? -1 : 1;
     }).equal({v: 2}, {v: 2});  // ↦ true
Parameters:
Name Type Description
a *
b *
Returns:

-1, 0 or 1

Type
integer