Monster. Util

Namespace for utilities.

Author
  • schukai GmbH

Classes

Comparator

create new 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.

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.

Parameters:
NameTypeDescription
obj*

object to be cloned

Since
  • 1.0.0
License
  • AGPLv3
Throws:

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

Type
Error
Returns:
Type: 
*

(static) deepFreeze(object) → {object}

Deep freeze a object

.

Deep freeze a object

Parameters:
NameTypeDescription
objectobject

object to be freeze

Since
  • 1.0.0
License
  • AGPLv3
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.

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

<script type="module">
import {trimSpaces} from '@schukai/monster/source/util/trimspaces.mjs';
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:
NameTypeDescription
valuestring
Since
  • 1.24.0
License
  • AGPLv3
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
.

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:
NameTypeDescription
a*
b*
Returns:

-1, 0 or 1

Type: 
integer