@schukai/monster 2.0.14 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/source/constants.mjs +15 -3
  4. package/source/constraints/abstract.mjs +11 -0
  5. package/source/constraints/abstractoperator.mjs +11 -1
  6. package/source/constraints/andoperator.mjs +11 -1
  7. package/source/constraints/invalid.mjs +11 -1
  8. package/source/constraints/isarray.mjs +11 -1
  9. package/source/constraints/isobject.mjs +11 -1
  10. package/source/constraints/namespace.mjs +5 -0
  11. package/source/constraints/oroperator.mjs +11 -1
  12. package/source/constraints/valid.mjs +11 -1
  13. package/source/data/datasource/namespace.mjs +5 -0
  14. package/source/data/datasource/restapi/namespace.mjs +5 -0
  15. package/source/data/datasource/restapi/writeerror.mjs +10 -1
  16. package/source/data/datasource/restapi.mjs +10 -1
  17. package/source/data/datasource/storage/localstorage.mjs +10 -1
  18. package/source/data/datasource/storage/namespace.mjs +5 -0
  19. package/source/data/datasource/storage/sessionstorage.mjs +10 -1
  20. package/source/data/datasource/storage.mjs +10 -1
  21. package/source/data/datasource.mjs +12 -2
  22. package/source/data/namespace.mjs +5 -0
  23. package/source/dom/customcontrol.mjs +11 -1
  24. package/source/dom/customelement.mjs +11 -1
  25. package/source/dom/focusmanager.mjs +11 -1
  26. package/source/dom/namespace.mjs +5 -0
  27. package/source/dom/resource/data.mjs +11 -1
  28. package/source/dom/resource/link/namespace.mjs +5 -0
  29. package/source/dom/resource/link/stylesheet.mjs +11 -1
  30. package/source/dom/resource/link.mjs +11 -1
  31. package/source/dom/resource/namespace.mjs +5 -0
  32. package/source/dom/resource/script.mjs +10 -1
  33. package/source/dom/resource.mjs +8 -0
  34. package/source/dom/template.mjs +11 -1
  35. package/source/dom/theme.mjs +11 -1
  36. package/source/dom/worker/namespace.mjs +5 -0
  37. package/source/i18n/namespace.mjs +5 -0
  38. package/source/i18n/providers/namespace.mjs +5 -0
  39. package/source/logging/handler/namespace.mjs +5 -0
  40. package/source/logging/namespace.mjs +5 -0
  41. package/source/math/namespace.mjs +5 -0
  42. package/source/text/namespace.mjs +5 -0
  43. package/source/types/base.mjs +100 -0
  44. package/source/types/dataurl.mjs +11 -1
  45. package/source/types/mediatype.mjs +11 -1
  46. package/source/types/namespace.mjs +5 -0
  47. package/source/types/node.mjs +11 -1
  48. package/source/types/nodelist.mjs +11 -1
  49. package/source/types/observer.mjs +11 -1
  50. package/source/types/proxyobserver.mjs +11 -1
  51. package/source/types/queue.mjs +11 -1
  52. package/source/types/stack.mjs +10 -1
  53. package/source/types/version.mjs +14 -2
  54. package/source/util/namespace.mjs +5 -0
  55. package/test/cases/constraint/abstractoperator.mjs +38 -0
  56. package/test/cases/dom/resource.mjs +48 -0
  57. package/test/cases/monster.mjs +1 -1
  58. package/test/cases/types/base.mjs +42 -0
  59. package/test/web/mocha.js +10976 -20806
  60. package/test/web/test.html +3 -3
  61. package/test/web/tests.js +68 -12
package/README.md CHANGED
@@ -73,7 +73,7 @@ We do try to work around some browser bugs, but on the whole we don't use polyfi
73
73
  However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased.
74
74
 
75
75
  ```html
76
- <script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Array.isArray,Array.prototype.entries,Array.prototype.fill,Array.prototype.filter,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.map,Array.prototype.reduce,Array.prototype.sort,ArrayBuffer,atob,CustomEvent,DataView,document,Document,DocumentFragment,Element,Event,fetch,globalThis,HTMLDocument,HTMLTemplateElement,Intl,JSON,Map,Math.log2,Number.isInteger,Object.assign,Object.defineProperty,Object.entries,Object.freeze,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.keys,Promise,Reflect,Reflect.defineProperty,Reflect.get,Reflect.getOwnPropertyDescriptor,Reflect.setPrototypeOf,Set,String.prototype.endsWith,String.prototype.matchAll,String.prototype.padStart,String.prototype.startsWith,String.prototype.trim,Symbol,Symbol.iterator,Uint16Array,Uint8Array,URL,WeakMap,WeakSet"
76
+ <script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Array.isArray,Array.prototype.entries,Array.prototype.fill,Array.prototype.filter,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.map,Array.prototype.reduce,Array.prototype.sort,ArrayBuffer,atob,CustomEvent,DataView,document,Document,DocumentFragment,Element,Event,fetch,globalThis,HTMLDocument,HTMLTemplateElement,Intl,JSON,Map,Math.log2,Number.isInteger,Object.assign,Object.defineProperty,Object.entries,Object.freeze,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getOwnPropertySymbols,Object.getPrototypeOf,Object.keys,Promise,Reflect,Reflect.defineProperty,Reflect.get,Reflect.getOwnPropertyDescriptor,Reflect.setPrototypeOf,Set,String.prototype.endsWith,String.prototype.matchAll,String.prototype.padStart,String.prototype.startsWith,String.prototype.trim,Symbol,Symbol.for,Symbol.hasInstance,Symbol.iterator,Uint16Array,Uint8Array,URL,WeakMap,WeakSet"
77
77
  crossorigin="anonymous"
78
78
  referrerpolicy="no-referrer"></script>
79
79
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schukai/monster",
3
- "version": "2.0.14",
3
+ "version": "2.1.0",
4
4
  "description": "Monster is a simple library for creating fast, robust and lightweight websites.",
5
5
  "keywords": [
6
6
  "framework",
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
  /**
2
7
  * Property-Keys
3
8
  * @author schukai GmbH
@@ -5,7 +10,8 @@
5
10
 
6
11
  export {
7
12
  internalSymbol,
8
- internalStateSymbol
13
+ internalStateSymbol,
14
+ instanceSymbol
9
15
  }
10
16
 
11
17
  /**
@@ -15,7 +21,7 @@ export {
15
21
  * @license AGPLv3
16
22
  * @since 1.24.0
17
23
  */
18
- const internalSymbol = Symbol('internalData');
24
+ const internalSymbol = Symbol.for('@schukai/monster/internal');
19
25
 
20
26
  /**
21
27
  * @private
@@ -24,5 +30,11 @@ const internalSymbol = Symbol('internalData');
24
30
  * @license AGPLv3
25
31
  * @since 1.25.0
26
32
  */
27
- const internalStateSymbol = Symbol('state');
33
+ const internalStateSymbol = Symbol.for('@schukai/monster/state');
34
+
35
+ /**
36
+ * @private
37
+ * @type {symbol}
38
+ */
39
+ const instanceSymbol = Symbol.for('@schukai/monster/instance');
28
40
 
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  import {Base} from '../types/base.mjs';
9
+ import {instanceSymbol} from '../constants.mjs';
9
10
 
10
11
  export {AbstractConstraint}
11
12
 
@@ -42,4 +43,14 @@ class AbstractConstraint extends Base {
42
43
  isValid(value) {
43
44
  return Promise.reject(value);
44
45
  }
46
+
47
+ /**
48
+ * This method is called by the `instanceof` operator.
49
+ * @returns {symbol}
50
+ * @since 2.1.0
51
+ */
52
+ static get [instanceSymbol]() {
53
+ return Symbol.for("@schukai/monster/constraints/abstract-constraint");
54
+ }
55
+
45
56
  }
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import {AbstractConstraint} from "./abstract.mjs";
9
-
9
+ import {instanceSymbol} from '../constants.mjs';
10
10
  export {AbstractOperator}
11
11
 
12
12
  /**
@@ -43,6 +43,16 @@ class AbstractOperator extends AbstractConstraint {
43
43
 
44
44
  }
45
45
 
46
+ /**
47
+ * This method is called by the `instanceof` operator.
48
+ * @returns {symbol}
49
+ * @since 2.1.0
50
+ */
51
+ static get [instanceSymbol]() {
52
+ return Symbol.for("@schukai/monster/constraints/abstract-operator");
53
+ }
54
+
55
+
46
56
 
47
57
  }
48
58
 
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import {AbstractOperator} from "./abstractoperator.mjs";
9
-
9
+ import {instanceSymbol} from '../constants.mjs';
10
10
  export {AndOperator}
11
11
 
12
12
  /**
@@ -35,4 +35,14 @@ class AndOperator extends AbstractOperator {
35
35
  return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);
36
36
  }
37
37
 
38
+ /**
39
+ * This method is called by the `instanceof` operator.
40
+ * @returns {symbol}
41
+ * @since 2.1.0
42
+ */
43
+ static get [instanceSymbol]() {
44
+ return Symbol.for("@schukai/monster/constraints/and-operator");
45
+ }
46
+
47
+
38
48
  }
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import {AbstractConstraint} from "./abstract.mjs";
9
-
9
+ import {instanceSymbol} from '../constants.mjs';
10
10
  export {Invalid}
11
11
 
12
12
  /**
@@ -35,4 +35,14 @@ class Invalid extends AbstractConstraint {
35
35
  return Promise.reject(value);
36
36
  }
37
37
 
38
+ /**
39
+ * This method is called by the `instanceof` operator.
40
+ * @returns {symbol}
41
+ * @since 2.1.0
42
+ */
43
+ static get [instanceSymbol]() {
44
+ return Symbol.for("@schukai/monster/constraints/invalid");
45
+ }
46
+
47
+
38
48
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  import {isArray} from "../types/is.mjs";
9
9
  import {AbstractConstraint} from "./abstract.mjs";
10
-
10
+ import {instanceSymbol} from '../constants.mjs';
11
11
  export {IsArray}
12
12
 
13
13
  /**
@@ -38,4 +38,14 @@ class IsArray extends AbstractConstraint {
38
38
  return Promise.reject(value);
39
39
  }
40
40
 
41
+ /**
42
+ * This method is called by the `instanceof` operator.
43
+ * @returns {symbol}
44
+ * @since 2.1.0
45
+ */
46
+ static get [instanceSymbol]() {
47
+ return Symbol.for("@schukai/monster/constraint/is-array");
48
+ }
49
+
50
+
41
51
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  import {isObject} from "../types/is.mjs";
9
9
  import {AbstractConstraint} from "./abstract.mjs";
10
-
10
+ import {instanceSymbol} from '../constants.mjs';
11
11
  export {IsObject}
12
12
 
13
13
  /**
@@ -38,4 +38,14 @@ class IsObject extends AbstractConstraint {
38
38
  return Promise.reject(value);
39
39
  }
40
40
 
41
+ /**
42
+ * This method is called by the `instanceof` operator.
43
+ * @returns {symbol}
44
+ * @since 2.1.0
45
+ */
46
+ static get [instanceSymbol]() {
47
+ return Symbol.for("@schukai/monster/constraint/is-object");
48
+ }
49
+
50
+
41
51
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
 
2
7
 
3
8
  /**
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import {AbstractOperator} from "./abstractoperator.mjs";
9
-
9
+ import {instanceSymbol} from '../constants.mjs';
10
10
  export {OrOperator}
11
11
 
12
12
  /**
@@ -61,5 +61,15 @@ class OrOperator extends AbstractOperator {
61
61
  });
62
62
  }
63
63
 
64
+ /**
65
+ * This method is called by the `instanceof` operator.
66
+ * @returns {symbol}
67
+ * @since 2.1.0
68
+ */
69
+ static get [instanceSymbol]() {
70
+ return Symbol.for("@schukai/monster/constraints/or-operator");
71
+ }
72
+
73
+
64
74
 
65
75
  }
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import {AbstractConstraint} from "./abstract.mjs";
9
-
9
+ import {instanceSymbol} from '../constants.mjs';
10
10
  export {Valid}
11
11
 
12
12
  /**
@@ -35,4 +35,14 @@ class Valid extends AbstractConstraint {
35
35
  return Promise.resolve(value);
36
36
  }
37
37
 
38
+ /**
39
+ * This method is called by the `instanceof` operator.
40
+ * @returns {symbol}
41
+ * @since 2.1.0
42
+ */
43
+ static get [instanceSymbol]() {
44
+ return Symbol.for("@schukai/monster/constraints/valid");
45
+ }
46
+
47
+
38
48
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
  /**
2
7
  * Namespace for datasources
3
8
  *
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
  /**
2
7
  * Namespace for storages
3
8
  *
@@ -5,7 +5,7 @@
5
5
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
6
  */
7
7
 
8
- import {internalSymbol} from "../../../constants.mjs";
8
+ import {internalSymbol,instanceSymbol} from "../../../constants.mjs";
9
9
 
10
10
  export {WriteError}
11
11
 
@@ -32,6 +32,15 @@ class WriteError extends Error {
32
32
  };
33
33
  }
34
34
 
35
+ /**
36
+ * This method is called by the `instanceof` operator.
37
+ * @returns {symbol}
38
+ * @since 2.1.0
39
+ */
40
+ static get [instanceSymbol]() {
41
+ return Symbol.for("@schukai/monster/data/datasource/restapi/writeerror");
42
+ }
43
+
35
44
  /**
36
45
  * @return {Response}
37
46
  */
@@ -5,7 +5,7 @@
5
5
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
6
  */
7
7
 
8
- import {internalSymbol} from "../../constants.mjs";
8
+ import {internalSymbol,instanceSymbol} from "../../constants.mjs";
9
9
  import {isObject} from "../../types/is.mjs";
10
10
  import {Datasource} from "../datasource.mjs";
11
11
  import {Pathfinder} from "../pathfinder.mjs";
@@ -44,6 +44,15 @@ class RestAPI extends Datasource {
44
44
 
45
45
  }
46
46
 
47
+ /**
48
+ * This method is called by the `instanceof` operator.
49
+ * @returns {symbol}
50
+ * @since 2.1.0
51
+ */
52
+ static get [instanceSymbol]() {
53
+ return Symbol.for("@schukai/monster/data/datasource/restapi");
54
+ }
55
+
47
56
  /**
48
57
  * @property {string} url=undefined Defines the resource that you wish to fetch.
49
58
  * @property {Object} write={} Options
@@ -5,7 +5,7 @@
5
5
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
6
  */
7
7
 
8
- import {internalSymbol} from "../../../constants.mjs";
8
+ import {internalSymbol,instanceSymbol} from "../../../constants.mjs";
9
9
  import {getGlobalObject} from "../../../types/global.mjs";
10
10
  import {Datasource} from "../../datasource.mjs";
11
11
  import {Storage, storageObjectSymbol} from "../storage.mjs";
@@ -32,6 +32,15 @@ class LocalStorage extends Storage {
32
32
  return getGlobalObject('localStorage');
33
33
  }
34
34
 
35
+ /**
36
+ * This method is called by the `instanceof` operator.
37
+ * @returns {symbol}
38
+ * @since 2.1.0
39
+ */
40
+ static get [instanceSymbol]() {
41
+ return Symbol.for("@schukai/monster/data/datasource/storage/localstorage");
42
+ }
43
+
35
44
  /**
36
45
  * Create clone
37
46
  * @return {LocalStorage}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
  /**
2
7
  * Namespace for storages
3
8
  *
@@ -5,7 +5,7 @@
5
5
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
6
  */
7
7
 
8
- import {internalSymbol} from "../../../constants.mjs";
8
+ import {internalSymbol,instanceSymbol} from "../../../constants.mjs";
9
9
  import {getGlobalObject} from "../../../types/global.mjs";
10
10
  import {Datasource} from "../../datasource.mjs";
11
11
  import {Storage, storageObjectSymbol} from "../storage.mjs";
@@ -32,6 +32,15 @@ class SessionStorage extends Storage {
32
32
  return getGlobalObject('sessionStorage');
33
33
  }
34
34
 
35
+ /**
36
+ * This method is called by the `instanceof` operator.
37
+ * @returns {symbol}
38
+ * @since 2.1.0
39
+ */
40
+ static get [instanceSymbol]() {
41
+ return Symbol.for("@schukai/monster/data/datasource/storage/session-storage");
42
+ }
43
+
35
44
  /**
36
45
  * Create Clone
37
46
  *
@@ -5,7 +5,7 @@
5
5
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
6
  */
7
7
 
8
- import {internalSymbol} from "../../constants.mjs";
8
+ import {internalSymbol,instanceSymbol} from "../../constants.mjs";
9
9
  import {validateString} from "../../types/validate.mjs";
10
10
  import {Datasource} from "../datasource.mjs";
11
11
 
@@ -38,6 +38,15 @@ class Storage extends Datasource {
38
38
  this.setOption('key', validateString(key));
39
39
  }
40
40
 
41
+ /**
42
+ * This method is called by the `instanceof` operator.
43
+ * @returns {symbol}
44
+ * @since 2.1.0
45
+ */
46
+ static get [instanceSymbol]() {
47
+ return Symbol.for("@schukai/monster/data/datasource/storage");
48
+ }
49
+
41
50
  /**
42
51
  * @property {string} key=undefined LocalStorage Key
43
52
  */
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import {internalSymbol} from "../constants.mjs";
9
-
9
+ import {instanceSymbol} from '../constants.mjs';
10
10
  import {Base} from "../types/base.mjs";
11
11
  import {parseDataURL} from "../types/dataurl.mjs";
12
12
  import {isString} from "../types/is.mjs";
@@ -39,7 +39,8 @@ const internalDataSymbol = Symbol('internalData');
39
39
  class Datasource extends Base {
40
40
 
41
41
  /**
42
- *
42
+ * creates a new datasource
43
+ *
43
44
  */
44
45
  constructor() {
45
46
  super();
@@ -185,6 +186,15 @@ class Datasource extends Base {
185
186
  return self;
186
187
  }
187
188
 
189
+ /**
190
+ * This method is called by the `instanceof` operator.
191
+ * @returns {symbol}
192
+ * @since 2.1.0
193
+ */
194
+ static get [instanceSymbol]() {
195
+ return Symbol.for("@schukai/monster/data/datasource");
196
+ }
197
+
188
198
  }
189
199
 
190
200
  /**
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
 
2
7
 
3
8
  /**
@@ -8,7 +8,7 @@
8
8
  import {extend} from "../data/extend.mjs";
9
9
  import {ATTRIBUTE_VALUE} from "./constants.mjs";
10
10
  import {CustomElement, attributeObserverSymbol} from "./customelement.mjs";
11
-
11
+ import {instanceSymbol} from '../constants.mjs';
12
12
  export {CustomControl}
13
13
 
14
14
  /**
@@ -70,6 +70,16 @@ class CustomControl extends CustomElement {
70
70
 
71
71
  }
72
72
 
73
+ /**
74
+ * This method is called by the `instanceof` operator.
75
+ * @returns {symbol}
76
+ * @since 2.1.0
77
+ */
78
+ static get [instanceSymbol]() {
79
+ return Symbol.for("@schukai/monster/dom/custom-control");
80
+ }
81
+
82
+
73
83
  /**
74
84
  * This method determines which attributes are to be monitored by `attributeChangedCallback()`.
75
85
  *
@@ -26,7 +26,7 @@ import {
26
26
  } from "./constants.mjs";
27
27
  import {findDocumentTemplate, Template} from "./template.mjs";
28
28
  import {Updater} from "./updater.mjs";
29
-
29
+ import {instanceSymbol} from '../constants.mjs';
30
30
  export {CustomElement, initMethodSymbol, assembleMethodSymbol, attributeObserverSymbol, registerCustomElement, assignUpdaterToElement, getSlottedElements}
31
31
 
32
32
  /**
@@ -195,6 +195,16 @@ class CustomElement extends HTMLElement {
195
195
  this[initMethodSymbol]();
196
196
  }
197
197
 
198
+ /**
199
+ * This method is called by the `instanceof` operator.
200
+ * @returns {symbol}
201
+ * @since 2.1.0
202
+ */
203
+ static get [instanceSymbol]() {
204
+ return Symbol.for("@schukai/monster/dom/custom-element");
205
+ }
206
+
207
+
198
208
  /**
199
209
  * This method determines which attributes are to be monitored by `attributeChangedCallback()`.
200
210
  *
@@ -11,7 +11,7 @@ import {getGlobalObject} from "../types/global.mjs";
11
11
  import {isArray} from "../types/is.mjs";
12
12
  import {Stack} from "../types/stack.mjs";
13
13
  import {validateInstance, validateString} from "../types/validate.mjs";
14
-
14
+ import {instanceSymbol} from '../constants.mjs';
15
15
  export {FocusManager}
16
16
 
17
17
  /**
@@ -57,6 +57,16 @@ const stackSymbol = Symbol('stack');
57
57
  this[stackSymbol] = new Stack();
58
58
  }
59
59
 
60
+ /**
61
+ * This method is called by the `instanceof` operator.
62
+ * @returns {symbol}
63
+ * @since 2.1.0
64
+ */
65
+ static get [instanceSymbol]() {
66
+ return Symbol.for("@schukai/monster/dom/focusmanager");
67
+ }
68
+
69
+
60
70
  /**
61
71
  * @property {HTMLDocument} document the document object into which the node is to be appended
62
72
  */
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
  /**
2
7
  * In this namespace you will find classes and methods for handling the DOM.
3
8
  *
@@ -18,7 +18,7 @@ import {
18
18
  TAG_SCRIPT
19
19
  } from "../constants.mjs";
20
20
  import {KEY_DOCUMENT, KEY_QUERY, referenceSymbol, Resource} from "../resource.mjs";
21
-
21
+ import {instanceSymbol} from '../../constants.mjs';
22
22
  export {Data}
23
23
 
24
24
  /**
@@ -70,6 +70,16 @@ class Data extends Resource {
70
70
  return this;
71
71
  }
72
72
 
73
+ /**
74
+ * This method is called by the `instanceof` operator.
75
+ * @returns {symbol}
76
+ * @since 2.1.0
77
+ */
78
+ static get [instanceSymbol]() {
79
+ return Symbol.for("@schukai/monster/dom/resource/data");
80
+ }
81
+
82
+
73
83
  /**
74
84
  * @return {string}
75
85
  */
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
 
2
7
 
3
8
  /**
@@ -7,7 +7,7 @@
7
7
 
8
8
  import {extend} from "../../../data/extend.mjs";
9
9
  import {Link} from "../link.mjs";
10
-
10
+ import {instanceSymbol} from '../../../constants.mjs';
11
11
  export {Stylesheet}
12
12
 
13
13
  /**
@@ -31,5 +31,15 @@ class Stylesheet extends Link {
31
31
  })
32
32
  }
33
33
 
34
+ /**
35
+ * This method is called by the `instanceof` operator.
36
+ * @returns {symbol}
37
+ * @since 2.1.0
38
+ */
39
+ static get [instanceSymbol]() {
40
+ return Symbol.for("@schukai/monster/dom/resource/link/stylesheet")
41
+ }
42
+
43
+
34
44
  }
35
45
 
@@ -15,7 +15,7 @@ import {
15
15
  TAG_LINK
16
16
  } from "../constants.mjs";
17
17
  import {KEY_DOCUMENT, referenceSymbol, Resource} from "../resource.mjs";
18
-
18
+ import {instanceSymbol} from '../../constants.mjs';
19
19
  export {Link}
20
20
 
21
21
  /**
@@ -67,6 +67,16 @@ class Link extends Resource {
67
67
  })
68
68
  }
69
69
 
70
+ /**
71
+ * This method is called by the `instanceof` operator.
72
+ * @returns {symbol}
73
+ * @since 2.1.0
74
+ */
75
+ static get [instanceSymbol]() {
76
+ return Symbol.for("@schukai/monster/dom/resource/link");
77
+ }
78
+
79
+
70
80
  /**
71
81
  *
72
82
  * @return {Monster.DOM.Resource.Link}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2022 schukai GmbH
3
+ * SPDX-License-Identifier: AGPL-3.0
4
+ */
5
+
1
6
  /**
2
7
  * In this namespace you will find classes and methods for handling resources.
3
8
  *