@twobirds/microcomponents 0.0.31 → 0.0.33

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.
package/src/test.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { MC, DC, McEvent, defineCE, getCE, observe } from "./microcomponents.js";
4
- //import { MC, DC, McEvent } from "./MC.js";
4
+
5
+ //import { MC, DC, typeof McEvent } from "./MC.js";
5
6
  //import { defineCE, getCE } from "./customElements.js";
6
7
  //import { observe } from "./customObservables.js";
7
8
 
@@ -20,9 +21,9 @@ class DeeplyNestedEvTarget extends MC {
20
21
  super(target);
21
22
  }
22
23
 
23
- oneInit(ev: McEvent) {
24
+ oneInit(ev: typeof McEvent) {
24
25
  let logger = this.target?.target?.target?._mc?.logger;
25
- logger?.warn("DeeplyNestedEvTarget .oneInit(ev)", ev);
26
+ //logger?.warn("DeeplyNestedEvTarget .oneInit(ev)", ev);
26
27
  }
27
28
  }
28
29
 
@@ -31,17 +32,17 @@ class EvTarget extends MC {
31
32
  super(target);
32
33
  }
33
34
 
34
- onCustomEvent(ev: McEvent) {
35
+ onCustomEvent(ev: typeof McEvent) {
35
36
  let logger = this.target?.target?._mc?.logger;
36
37
  logger?.log("onCustomEvent", ev);
37
38
  }
38
39
 
39
- oneInit(ev: McEvent) {
40
+ oneInit(ev: typeof McEvent) {
40
41
  let that = this,
41
42
  _mc = that._mc!,
42
43
  logger = this.target?.target?._mc?.logger;
43
44
 
44
- logger?.warn("EvTarget .oneInit(ev)", ev);
45
+ //logger?.warn("EvTarget .oneInit(ev)", ev);
45
46
 
46
47
  _mc.deeplyNestedEvTarget = new DeeplyNestedEvTarget( that );
47
48
  }
@@ -108,19 +109,19 @@ defineCE(
108
109
  web component specific event handlers
109
110
  */
110
111
 
111
- onConnected(ev: McEvent) {
112
- this.target._mc?.logger.info("onConnected handler", ev);
112
+ onConnected(ev: typeof McEvent) {
113
+ //this.target._mc?.logger.info("onConnected handler", ev);
113
114
  }
114
115
 
115
- onAttributeChanged(ev: McEvent) {
116
+ onAttributeChanged(ev: typeof McEvent) {
116
117
  let logger = this.target._mc?.logger;
117
- logger?.info("onAttributeChanged handler", ev);
118
+ //logger?.info("onAttributeChanged handler", ev);
118
119
  }
119
120
 
120
121
  /*
121
122
  native event handlers
122
123
  */
123
- oneClick(ev: McEvent) {
124
+ oneClick(ev: typeof McEvent) {
124
125
  let logger = this.target._mc?.logger;
125
126
 
126
127
  logger.info("oneClick handler", ev);
@@ -130,7 +131,7 @@ defineCE(
130
131
  this.target.setAttribute("my-attribute", "testValue");
131
132
  }
132
133
 
133
- onClick(ev: McEvent) {
134
+ onClick(ev: typeof McEvent) {
134
135
  let logger = this.target._mc?.logger;
135
136
 
136
137
  logger?.info("onClick handler", ev);
@@ -141,13 +142,13 @@ defineCE(
141
142
  /*
142
143
  DC custom event handlers
143
144
  */
144
- oneInit(ev: McEvent) {
145
+ oneInit(ev: typeof McEvent) {
145
146
  let that = this,
146
147
  _mc = that._mc;
147
148
 
148
149
  let logger = that.target._mc.logger;
149
150
 
150
- logger.warn("oneInit handler", ev);
151
+ //logger.warn("oneInit handler", ev);
151
152
 
152
153
  // add a private event target
153
154
  _mc.customEventTarget = new EvTarget(that);
@@ -160,10 +161,10 @@ defineCE(
160
161
  logger.log("Counter has changed to: " + value);
161
162
  });
162
163
 
163
- logger.log("add 1,2,3 =", _mc.Adder.sum(1, 2, 3));
164
+ //logger.log("add 1,2,3 =", _mc.Adder.sum(1, 2, 3));
164
165
  }
165
166
 
166
- onDoSomething(ev: McEvent) {
167
+ onDoSomething(ev: typeof McEvent) {
167
168
  let logger = this.target._mc?.logger;
168
169
  logger?.log(".onDoSomething(ev): something done...", ev);
169
170
  }
@@ -171,7 +172,27 @@ defineCE(
171
172
  ["my-attribute"]
172
173
  );
173
174
 
174
- let MyTag: CustomElementConstructor = getCE("my-tag")!;
175
+ let MyTag: CustomElementConstructor = getCE("my-tag")!,
176
+ fragment = new DocumentFragment();
177
+
178
+ // stress test
179
+ console.time("Instancing");
180
+ // create 1000 elements
181
+ for ( let x = 0; x < 1000; x ++ ){
182
+ fragment.append( new MyTag("my-data") );
183
+ }
184
+ document.body.appendChild( fragment );
185
+
186
+ console.log(
187
+ '%c \n\nStress Test:\n\n %cInstancing 1000 classes and putting them in the DOM took (ms):',
188
+ "font-weight: bold; color: black;",
189
+ "color: black;"
190
+ );
191
+ console.timeEnd("Instancing");
192
+
193
+ document.querySelectorAll('my-tag').forEach( (e) => e.remove() );
194
+
195
+ // and put them into thwe DOM
175
196
 
176
197
  document.body.appendChild( new MyTag("my-data") );
177
198