@gjsify/stream 0.0.3 → 0.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.
package/test.node.js DELETED
@@ -1,1234 +0,0 @@
1
- // ../../web/events/lib/esm/index.js
2
- import { EventEmitter } from "events";
3
- var globalEventEmitter = new EventEmitter();
4
- globalEventEmitter.on("load", (event) => {
5
- if (typeof globalThis.onload === "function") {
6
- globalThis.onload.call(globalThis, event);
7
- }
8
- });
9
- globalEventEmitter.on("beforeunload", (event) => {
10
- if (typeof globalThis.beforeunload === "function") {
11
- globalThis.beforeunload.call(globalThis, event);
12
- }
13
- });
14
- globalEventEmitter.on("unload", (event) => {
15
- if (typeof globalThis.unload === "function") {
16
- globalThis.unload.call(globalThis, event);
17
- }
18
- });
19
- if (!globalThis.addEventListener)
20
- Object.defineProperty(globalThis, "addEventListener", { value: globalEventEmitter.addListener });
21
- if (!globalThis.removeEventListener)
22
- Object.defineProperty(globalThis, "removeEventListener", { value: globalEventEmitter.removeListener });
23
-
24
- // ../../web/event-target/lib/esm/misc.js
25
- function assertType(condition, message, ...args) {
26
- if (!condition) {
27
- throw new TypeError(format(message, args));
28
- }
29
- }
30
- function format(message, args) {
31
- let i = 0;
32
- return message.replace(/%[os]/gu, () => anyToString(args[i++]));
33
- }
34
- function anyToString(x) {
35
- if (typeof x !== "object" || x === null) {
36
- return String(x);
37
- }
38
- return Object.prototype.toString.call(x);
39
- }
40
-
41
- // ../../web/event-target/lib/esm/error-handler.js
42
- var currentErrorHandler;
43
- function reportError(maybeError) {
44
- try {
45
- const error = maybeError instanceof Error ? maybeError : new Error(anyToString(maybeError));
46
- if (currentErrorHandler) {
47
- currentErrorHandler(error);
48
- return;
49
- }
50
- if (typeof dispatchEvent === "function" && typeof ErrorEvent === "function") {
51
- dispatchEvent(
52
- new ErrorEvent("error", { error, message: error.message })
53
- );
54
- } else if (typeof process !== "undefined" && typeof process.emit === "function") {
55
- process.emit("uncaughtException", error);
56
- return;
57
- }
58
- console.error(error);
59
- } catch {
60
- }
61
- }
62
-
63
- // ../../web/event-target/lib/esm/warning-handler.js
64
- var currentWarnHandler;
65
- var Warning = class {
66
- code;
67
- message;
68
- constructor(code, message) {
69
- this.code = code;
70
- this.message = message;
71
- }
72
- warn(...args) {
73
- try {
74
- if (currentWarnHandler) {
75
- currentWarnHandler({ ...this, args });
76
- return;
77
- }
78
- const stack = (new Error().stack ?? "").replace(
79
- /^(?:.+?\n){2}/gu,
80
- "\n"
81
- );
82
- console.warn(this.message, ...args, stack);
83
- } catch {
84
- }
85
- }
86
- };
87
-
88
- // ../../web/event-target/lib/esm/warnings.js
89
- var InitEventWasCalledWhileDispatching = new Warning(
90
- "W01",
91
- "Unable to initialize event under dispatching."
92
- );
93
- var FalsyWasAssignedToCancelBubble = new Warning(
94
- "W02",
95
- "Assigning any falsy value to 'cancelBubble' property has no effect."
96
- );
97
- var TruthyWasAssignedToReturnValue = new Warning(
98
- "W03",
99
- "Assigning any truthy value to 'returnValue' property has no effect."
100
- );
101
- var NonCancelableEventWasCanceled = new Warning(
102
- "W04",
103
- "Unable to preventDefault on non-cancelable events."
104
- );
105
- var CanceledInPassiveListener = new Warning(
106
- "W05",
107
- "Unable to preventDefault inside passive event listener invocation."
108
- );
109
- var EventListenerWasDuplicated = new Warning(
110
- "W06",
111
- "An event listener wasn't added because it has been added already: %o, %o"
112
- );
113
- var OptionWasIgnored = new Warning(
114
- "W07",
115
- "The %o option value was abandoned because the event listener wasn't added as duplicated."
116
- );
117
- var InvalidEventListener = new Warning(
118
- "W08",
119
- "The 'callback' argument must be a function or an object that has 'handleEvent' method: %o"
120
- );
121
- var InvalidAttributeHandler = new Warning("W09", "Event attribute handler must be a function: %o");
122
-
123
- // ../../web/event-target/lib/esm/event.js
124
- var Event = class {
125
- static get NONE() {
126
- return NONE;
127
- }
128
- static get CAPTURING_PHASE() {
129
- return CAPTURING_PHASE;
130
- }
131
- static get AT_TARGET() {
132
- return AT_TARGET;
133
- }
134
- static get BUBBLING_PHASE() {
135
- return BUBBLING_PHASE;
136
- }
137
- constructor(type, eventInitDict) {
138
- Object.defineProperty(this, "isTrusted", {
139
- value: false,
140
- enumerable: true
141
- });
142
- const opts = eventInitDict ?? {};
143
- internalDataMap.set(this, {
144
- type: String(type),
145
- bubbles: Boolean(opts.bubbles),
146
- cancelable: Boolean(opts.cancelable),
147
- composed: Boolean(opts.composed),
148
- target: null,
149
- currentTarget: null,
150
- stopPropagationFlag: false,
151
- stopImmediatePropagationFlag: false,
152
- canceledFlag: false,
153
- inPassiveListenerFlag: false,
154
- dispatchFlag: false,
155
- timeStamp: Date.now()
156
- });
157
- }
158
- get type() {
159
- return $(this).type;
160
- }
161
- get target() {
162
- return $(this).target;
163
- }
164
- get srcElement() {
165
- return $(this).target;
166
- }
167
- get currentTarget() {
168
- return $(this).currentTarget;
169
- }
170
- composedPath() {
171
- const currentTarget = $(this).currentTarget;
172
- if (currentTarget) {
173
- return [currentTarget];
174
- }
175
- return [];
176
- }
177
- get NONE() {
178
- return NONE;
179
- }
180
- get CAPTURING_PHASE() {
181
- return CAPTURING_PHASE;
182
- }
183
- get AT_TARGET() {
184
- return AT_TARGET;
185
- }
186
- get BUBBLING_PHASE() {
187
- return BUBBLING_PHASE;
188
- }
189
- get eventPhase() {
190
- return $(this).dispatchFlag ? 2 : 0;
191
- }
192
- stopPropagation() {
193
- $(this).stopPropagationFlag = true;
194
- }
195
- get cancelBubble() {
196
- return $(this).stopPropagationFlag;
197
- }
198
- set cancelBubble(value) {
199
- if (value) {
200
- $(this).stopPropagationFlag = true;
201
- } else {
202
- FalsyWasAssignedToCancelBubble.warn();
203
- }
204
- }
205
- stopImmediatePropagation() {
206
- const data = $(this);
207
- data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;
208
- }
209
- get bubbles() {
210
- return $(this).bubbles;
211
- }
212
- get cancelable() {
213
- return $(this).cancelable;
214
- }
215
- get returnValue() {
216
- return !$(this).canceledFlag;
217
- }
218
- set returnValue(value) {
219
- if (!value) {
220
- setCancelFlag($(this));
221
- } else {
222
- TruthyWasAssignedToReturnValue.warn();
223
- }
224
- }
225
- preventDefault() {
226
- setCancelFlag($(this));
227
- }
228
- get defaultPrevented() {
229
- return $(this).canceledFlag;
230
- }
231
- get composed() {
232
- return $(this).composed;
233
- }
234
- get isTrusted() {
235
- return false;
236
- }
237
- get timeStamp() {
238
- return $(this).timeStamp;
239
- }
240
- initEvent(type, bubbles = false, cancelable = false) {
241
- const data = $(this);
242
- if (data.dispatchFlag) {
243
- InitEventWasCalledWhileDispatching.warn();
244
- return;
245
- }
246
- internalDataMap.set(this, {
247
- ...data,
248
- type: String(type),
249
- bubbles: Boolean(bubbles),
250
- cancelable: Boolean(cancelable),
251
- target: null,
252
- currentTarget: null,
253
- stopPropagationFlag: false,
254
- stopImmediatePropagationFlag: false,
255
- canceledFlag: false
256
- });
257
- }
258
- };
259
- var NONE = 0;
260
- var CAPTURING_PHASE = 1;
261
- var AT_TARGET = 2;
262
- var BUBBLING_PHASE = 3;
263
- var internalDataMap = /* @__PURE__ */ new WeakMap();
264
- function $(event, name = "this") {
265
- const retv = internalDataMap.get(event);
266
- assertType(
267
- retv != null,
268
- "'%s' must be an object that Event constructor created, but got another one: %o",
269
- name,
270
- event
271
- );
272
- return retv;
273
- }
274
- function setCancelFlag(data) {
275
- if (data.inPassiveListenerFlag) {
276
- CanceledInPassiveListener.warn();
277
- return;
278
- }
279
- if (!data.cancelable) {
280
- NonCancelableEventWasCanceled.warn();
281
- return;
282
- }
283
- data.canceledFlag = true;
284
- }
285
- Object.defineProperty(Event, "NONE", { enumerable: true });
286
- Object.defineProperty(Event, "CAPTURING_PHASE", { enumerable: true });
287
- Object.defineProperty(Event, "AT_TARGET", { enumerable: true });
288
- Object.defineProperty(Event, "BUBBLING_PHASE", { enumerable: true });
289
- var keys = Object.getOwnPropertyNames(Event.prototype);
290
- for (let i = 0; i < keys.length; ++i) {
291
- if (keys[i] === "constructor") {
292
- continue;
293
- }
294
- Object.defineProperty(Event.prototype, keys[i], { enumerable: true });
295
- }
296
- if (typeof globalThis !== "undefined" && typeof globalThis.Event !== "undefined") {
297
- Object.setPrototypeOf(Event.prototype, globalThis.Event.prototype);
298
- }
299
-
300
- // ../../web/event-target/lib/esm/dom-exception.js
301
- function createInvalidStateError(message) {
302
- if (globalThis.DOMException) {
303
- return new globalThis.DOMException(message, "InvalidStateError");
304
- }
305
- if (DOMException == null) {
306
- DOMException = class DOMException2 extends Error {
307
- constructor(msg) {
308
- super(msg);
309
- if (Error.captureStackTrace) {
310
- ;
311
- Error.captureStackTrace(this, DOMException2);
312
- }
313
- }
314
- get code() {
315
- return 11;
316
- }
317
- get name() {
318
- return "InvalidStateError";
319
- }
320
- };
321
- Object.defineProperties(DOMException.prototype, {
322
- code: { enumerable: true },
323
- name: { enumerable: true }
324
- });
325
- defineErrorCodeProperties(DOMException);
326
- defineErrorCodeProperties(DOMException.prototype);
327
- }
328
- return new DOMException(message);
329
- }
330
- var DOMException;
331
- var ErrorCodeMap = {
332
- INDEX_SIZE_ERR: 1,
333
- DOMSTRING_SIZE_ERR: 2,
334
- HIERARCHY_REQUEST_ERR: 3,
335
- WRONG_DOCUMENT_ERR: 4,
336
- INVALID_CHARACTER_ERR: 5,
337
- NO_DATA_ALLOWED_ERR: 6,
338
- NO_MODIFICATION_ALLOWED_ERR: 7,
339
- NOT_FOUND_ERR: 8,
340
- NOT_SUPPORTED_ERR: 9,
341
- INUSE_ATTRIBUTE_ERR: 10,
342
- INVALID_STATE_ERR: 11,
343
- SYNTAX_ERR: 12,
344
- INVALID_MODIFICATION_ERR: 13,
345
- NAMESPACE_ERR: 14,
346
- INVALID_ACCESS_ERR: 15,
347
- VALIDATION_ERR: 16,
348
- TYPE_MISMATCH_ERR: 17,
349
- SECURITY_ERR: 18,
350
- NETWORK_ERR: 19,
351
- ABORT_ERR: 20,
352
- URL_MISMATCH_ERR: 21,
353
- QUOTA_EXCEEDED_ERR: 22,
354
- TIMEOUT_ERR: 23,
355
- INVALID_NODE_TYPE_ERR: 24,
356
- DATA_CLONE_ERR: 25
357
- };
358
- function defineErrorCodeProperties(obj) {
359
- const keys3 = Object.keys(ErrorCodeMap);
360
- for (let i = 0; i < keys3.length; ++i) {
361
- const key = keys3[i];
362
- const value = ErrorCodeMap[key];
363
- Object.defineProperty(obj, key, {
364
- get() {
365
- return value;
366
- },
367
- configurable: true,
368
- enumerable: true
369
- });
370
- }
371
- }
372
-
373
- // ../../web/event-target/lib/esm/event-wrapper.js
374
- var EventWrapper = class extends Event {
375
- static wrap(event) {
376
- return new (getWrapperClassOf(event))(event);
377
- }
378
- constructor(event) {
379
- super(event.type, {
380
- bubbles: event.bubbles,
381
- cancelable: event.cancelable,
382
- composed: event.composed
383
- });
384
- if (event.cancelBubble) {
385
- super.stopPropagation();
386
- }
387
- if (event.defaultPrevented) {
388
- super.preventDefault();
389
- }
390
- internalDataMap2.set(this, { original: event });
391
- const keys3 = Object.keys(event);
392
- for (let i = 0; i < keys3.length; ++i) {
393
- const key = keys3[i];
394
- if (!(key in this)) {
395
- Object.defineProperty(
396
- this,
397
- key,
398
- defineRedirectDescriptor(event, key)
399
- );
400
- }
401
- }
402
- }
403
- stopPropagation() {
404
- super.stopPropagation();
405
- const { original } = $2(this);
406
- if ("stopPropagation" in original) {
407
- original.stopPropagation();
408
- }
409
- }
410
- get cancelBubble() {
411
- return super.cancelBubble;
412
- }
413
- set cancelBubble(value) {
414
- super.cancelBubble = value;
415
- const { original } = $2(this);
416
- if ("cancelBubble" in original) {
417
- original.cancelBubble = value;
418
- }
419
- }
420
- stopImmediatePropagation() {
421
- super.stopImmediatePropagation();
422
- const { original } = $2(this);
423
- if ("stopImmediatePropagation" in original) {
424
- original.stopImmediatePropagation();
425
- }
426
- }
427
- get returnValue() {
428
- return super.returnValue;
429
- }
430
- set returnValue(value) {
431
- super.returnValue = value;
432
- const { original } = $2(this);
433
- if ("returnValue" in original) {
434
- original.returnValue = value;
435
- }
436
- }
437
- preventDefault() {
438
- super.preventDefault();
439
- const { original } = $2(this);
440
- if ("preventDefault" in original) {
441
- original.preventDefault();
442
- }
443
- }
444
- get timeStamp() {
445
- const { original } = $2(this);
446
- if ("timeStamp" in original) {
447
- return original.timeStamp;
448
- }
449
- return super.timeStamp;
450
- }
451
- };
452
- var internalDataMap2 = /* @__PURE__ */ new WeakMap();
453
- function $2(event) {
454
- const retv = internalDataMap2.get(event);
455
- assertType(
456
- retv != null,
457
- "'this' is expected an Event object, but got",
458
- event
459
- );
460
- return retv;
461
- }
462
- var wrapperClassCache = /* @__PURE__ */ new WeakMap();
463
- wrapperClassCache.set(Object.prototype, EventWrapper);
464
- if (typeof globalThis !== "undefined" && typeof globalThis.Event !== "undefined") {
465
- wrapperClassCache.set(globalThis.Event.prototype, EventWrapper);
466
- }
467
- function getWrapperClassOf(originalEvent) {
468
- const prototype = Object.getPrototypeOf(originalEvent);
469
- if (prototype == null) {
470
- return EventWrapper;
471
- }
472
- let wrapper = wrapperClassCache.get(prototype);
473
- if (wrapper == null) {
474
- wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);
475
- wrapperClassCache.set(prototype, wrapper);
476
- }
477
- return wrapper;
478
- }
479
- function defineWrapper(BaseEventWrapper, originalPrototype) {
480
- class CustomEventWrapper extends BaseEventWrapper {
481
- }
482
- const keys3 = Object.keys(originalPrototype);
483
- for (let i = 0; i < keys3.length; ++i) {
484
- Object.defineProperty(
485
- CustomEventWrapper.prototype,
486
- keys3[i],
487
- defineRedirectDescriptor(originalPrototype, keys3[i])
488
- );
489
- }
490
- return CustomEventWrapper;
491
- }
492
- function defineRedirectDescriptor(obj, key) {
493
- const d = Object.getOwnPropertyDescriptor(obj, key);
494
- return {
495
- get() {
496
- const original = $2(this).original;
497
- const value = original[key];
498
- if (typeof value === "function") {
499
- return value.bind(original);
500
- }
501
- return value;
502
- },
503
- set(value) {
504
- const original = $2(this).original;
505
- original[key] = value;
506
- },
507
- configurable: d.configurable,
508
- enumerable: d.enumerable
509
- };
510
- }
511
-
512
- // ../../web/event-target/lib/esm/listener.js
513
- function createListener(callback, capture, passive, once, signal, signalListener) {
514
- return {
515
- callback,
516
- flags: (capture ? ListenerFlags.Capture : 0) | (passive ? ListenerFlags.Passive : 0) | (once ? ListenerFlags.Once : 0),
517
- signal,
518
- signalListener
519
- };
520
- }
521
- function setRemoved(listener) {
522
- listener.flags |= ListenerFlags.Removed;
523
- }
524
- function isCapture(listener) {
525
- return (listener.flags & ListenerFlags.Capture) === ListenerFlags.Capture;
526
- }
527
- function isPassive(listener) {
528
- return (listener.flags & ListenerFlags.Passive) === ListenerFlags.Passive;
529
- }
530
- function isOnce(listener) {
531
- return (listener.flags & ListenerFlags.Once) === ListenerFlags.Once;
532
- }
533
- function isRemoved(listener) {
534
- return (listener.flags & ListenerFlags.Removed) === ListenerFlags.Removed;
535
- }
536
- function invokeCallback({ callback }, target, event) {
537
- try {
538
- if (typeof callback === "function") {
539
- callback.call(target, event);
540
- } else if (typeof callback.handleEvent === "function") {
541
- callback.handleEvent(event);
542
- }
543
- } catch (thrownError) {
544
- reportError(thrownError);
545
- }
546
- }
547
- var ListenerFlags = /* @__PURE__ */ ((ListenerFlags2) => {
548
- ListenerFlags2[ListenerFlags2["Capture"] = 1] = "Capture";
549
- ListenerFlags2[ListenerFlags2["Passive"] = 2] = "Passive";
550
- ListenerFlags2[ListenerFlags2["Once"] = 4] = "Once";
551
- ListenerFlags2[ListenerFlags2["Removed"] = 8] = "Removed";
552
- return ListenerFlags2;
553
- })(ListenerFlags || {});
554
-
555
- // ../../web/event-target/lib/esm/listener-list.js
556
- function findIndexOfListener({ listeners }, callback, capture) {
557
- for (let i = 0; i < listeners.length; ++i) {
558
- if (listeners[i].callback === callback && isCapture(listeners[i]) === capture) {
559
- return i;
560
- }
561
- }
562
- return -1;
563
- }
564
- function addListener(list, callback, capture, passive, once, signal) {
565
- let signalListener;
566
- if (signal) {
567
- signalListener = removeListener.bind(null, list, callback, capture);
568
- signal.addEventListener("abort", signalListener);
569
- }
570
- const listener = createListener(
571
- callback,
572
- capture,
573
- passive,
574
- once,
575
- signal,
576
- signalListener
577
- );
578
- if (list.cow) {
579
- list.cow = false;
580
- list.listeners = [...list.listeners, listener];
581
- } else {
582
- list.listeners.push(listener);
583
- }
584
- return listener;
585
- }
586
- function removeListener(list, callback, capture) {
587
- const index = findIndexOfListener(list, callback, capture);
588
- if (index !== -1) {
589
- return removeListenerAt(list, index);
590
- }
591
- return false;
592
- }
593
- function removeListenerAt(list, index, disableCow = false) {
594
- const listener = list.listeners[index];
595
- setRemoved(listener);
596
- if (listener.signal) {
597
- listener.signal.removeEventListener("abort", listener.signalListener);
598
- }
599
- if (list.cow && !disableCow) {
600
- list.cow = false;
601
- list.listeners = list.listeners.filter((_, i) => i !== index);
602
- return false;
603
- }
604
- list.listeners.splice(index, 1);
605
- return true;
606
- }
607
-
608
- // ../../web/event-target/lib/esm/listener-list-map.js
609
- function createListenerListMap() {
610
- return /* @__PURE__ */ Object.create(null);
611
- }
612
- function ensureListenerList(listenerMap, type) {
613
- return listenerMap[type] ??= {
614
- attrCallback: void 0,
615
- attrListener: void 0,
616
- cow: false,
617
- listeners: []
618
- };
619
- }
620
-
621
- // ../../web/event-target/lib/esm/event-target.js
622
- var EventTarget = class {
623
- constructor() {
624
- internalDataMap3.set(this, createListenerListMap());
625
- }
626
- addEventListener(type0, callback0, options0) {
627
- const listenerMap = $3(this);
628
- const {
629
- callback,
630
- capture,
631
- once,
632
- passive,
633
- signal,
634
- type
635
- } = normalizeAddOptions(type0, callback0, options0);
636
- if (callback == null || (signal == null ? void 0 : signal.aborted)) {
637
- return;
638
- }
639
- const list = ensureListenerList(listenerMap, type);
640
- const i = findIndexOfListener(list, callback, capture);
641
- if (i !== -1) {
642
- warnDuplicate(list.listeners[i], passive, once, signal);
643
- return;
644
- }
645
- addListener(list, callback, capture, passive, once, signal);
646
- }
647
- removeEventListener(type0, callback0, options0) {
648
- const listenerMap = $3(this);
649
- const { callback, capture, type } = normalizeOptions(
650
- type0,
651
- callback0,
652
- options0
653
- );
654
- const list = listenerMap[type];
655
- if (callback != null && list) {
656
- removeListener(list, callback, capture);
657
- }
658
- }
659
- dispatchEvent(e) {
660
- const list = $3(this)[String(e.type)];
661
- if (list == null) {
662
- return true;
663
- }
664
- const event = e instanceof Event ? e : EventWrapper.wrap(e);
665
- const eventData = $(event, "event");
666
- if (eventData.dispatchFlag) {
667
- throw createInvalidStateError("This event has been in dispatching.");
668
- }
669
- eventData.dispatchFlag = true;
670
- eventData.target = eventData.currentTarget = this;
671
- if (!eventData.stopPropagationFlag) {
672
- const { cow, listeners } = list;
673
- list.cow = true;
674
- for (let i = 0; i < listeners.length; ++i) {
675
- const listener = listeners[i];
676
- if (isRemoved(listener)) {
677
- continue;
678
- }
679
- if (isOnce(listener) && removeListenerAt(list, i, !cow)) {
680
- i -= 1;
681
- }
682
- eventData.inPassiveListenerFlag = isPassive(listener);
683
- invokeCallback(listener, this, event);
684
- eventData.inPassiveListenerFlag = false;
685
- if (eventData.stopImmediatePropagationFlag) {
686
- break;
687
- }
688
- }
689
- if (!cow) {
690
- list.cow = false;
691
- }
692
- }
693
- eventData.target = null;
694
- eventData.currentTarget = null;
695
- eventData.stopImmediatePropagationFlag = false;
696
- eventData.stopPropagationFlag = false;
697
- eventData.dispatchFlag = false;
698
- return !eventData.canceledFlag;
699
- }
700
- };
701
- var internalDataMap3 = /* @__PURE__ */ new WeakMap();
702
- function $3(target, name = "this") {
703
- const retv = internalDataMap3.get(target);
704
- assertType(
705
- retv != null,
706
- "'%s' must be an object that EventTarget constructor created, but got another one: %o",
707
- name,
708
- target
709
- );
710
- return retv;
711
- }
712
- function normalizeAddOptions(type, callback, options) {
713
- assertCallback(callback);
714
- if (typeof options === "object" && options !== null) {
715
- return {
716
- type: String(type),
717
- callback: callback ?? void 0,
718
- capture: Boolean(options.capture),
719
- passive: Boolean(options.passive),
720
- once: Boolean(options.once),
721
- signal: options.signal ?? void 0
722
- };
723
- }
724
- return {
725
- type: String(type),
726
- callback: callback ?? void 0,
727
- capture: Boolean(options),
728
- passive: false,
729
- once: false,
730
- signal: void 0
731
- };
732
- }
733
- function normalizeOptions(type, callback, options) {
734
- assertCallback(callback);
735
- if (typeof options === "object" && options !== null) {
736
- return {
737
- type: String(type),
738
- callback: callback ?? void 0,
739
- capture: Boolean(options.capture)
740
- };
741
- }
742
- return {
743
- type: String(type),
744
- callback: callback ?? void 0,
745
- capture: Boolean(options)
746
- };
747
- }
748
- function assertCallback(callback) {
749
- if (typeof callback === "function" || typeof callback === "object" && callback !== null && typeof callback.handleEvent === "function") {
750
- return;
751
- }
752
- if (callback == null || typeof callback === "object") {
753
- InvalidEventListener.warn(callback);
754
- return;
755
- }
756
- throw new TypeError(format(InvalidEventListener.message, [callback]));
757
- }
758
- function warnDuplicate(listener, passive, once, signal) {
759
- EventListenerWasDuplicated.warn(
760
- isCapture(listener) ? "capture" : "bubble",
761
- listener.callback
762
- );
763
- if (isPassive(listener) !== passive) {
764
- OptionWasIgnored.warn("passive");
765
- }
766
- if (isOnce(listener) !== once) {
767
- OptionWasIgnored.warn("once");
768
- }
769
- if (listener.signal !== signal) {
770
- OptionWasIgnored.warn("signal");
771
- }
772
- }
773
- var keys2 = Object.getOwnPropertyNames(EventTarget.prototype);
774
- for (let i = 0; i < keys2.length; ++i) {
775
- if (keys2[i] === "constructor") {
776
- continue;
777
- }
778
- Object.defineProperty(EventTarget.prototype, keys2[i], { enumerable: true });
779
- }
780
- if (typeof globalThis !== "undefined" && typeof globalThis.EventTarget !== "undefined") {
781
- Object.setPrototypeOf(EventTarget.prototype, globalThis.EventTarget.prototype);
782
- }
783
-
784
- // ../../web/event-target/lib/esm/event-attribute-handler.js
785
- function getEventAttributeValue(target, type) {
786
- var _a2;
787
- const listMap = $3(target, "target");
788
- return ((_a2 = listMap[type]) == null ? void 0 : _a2.attrCallback) ?? null;
789
- }
790
- function setEventAttributeValue(target, type, callback) {
791
- if (callback != null && typeof callback !== "function") {
792
- InvalidAttributeHandler.warn(callback);
793
- }
794
- if (typeof callback === "function" || typeof callback === "object" && callback !== null) {
795
- upsertEventAttributeListener(target, type, callback);
796
- } else {
797
- removeEventAttributeListener(target, type);
798
- }
799
- }
800
- function upsertEventAttributeListener(target, type, callback) {
801
- const list = ensureListenerList(
802
- $3(target, "target"),
803
- String(type)
804
- );
805
- list.attrCallback = callback;
806
- if (list.attrListener == null) {
807
- list.attrListener = addListener(
808
- list,
809
- defineEventAttributeCallback(list),
810
- false,
811
- false,
812
- false,
813
- void 0
814
- );
815
- }
816
- }
817
- function removeEventAttributeListener(target, type) {
818
- const listMap = $3(target, "target");
819
- const list = listMap[String(type)];
820
- if (list && list.attrListener) {
821
- removeListener(list, list.attrListener.callback, false);
822
- list.attrCallback = list.attrListener = void 0;
823
- }
824
- }
825
- function defineEventAttributeCallback(list) {
826
- return function(event) {
827
- const callback = list.attrCallback;
828
- if (typeof callback === "function") {
829
- callback.call(this, event);
830
- }
831
- };
832
- }
833
-
834
- // ../../web/abort-controller/lib/esm/abort-signal.js
835
- var GjsifyAbortSignal = class extends EventTarget {
836
- reason = void 0;
837
- throwIfAborted() {
838
- console.warn("AbortSignal.throwIfAborted");
839
- }
840
- get onabort() {
841
- return getEventAttributeValue(this, "abort");
842
- }
843
- set onabort(callback) {
844
- setEventAttributeValue(this, "abort", callback);
845
- }
846
- constructor(internal) {
847
- super();
848
- if (!internal) {
849
- throw new TypeError("AbortSignal cannot be constructed directly");
850
- }
851
- }
852
- static _create() {
853
- return new this(true);
854
- }
855
- get aborted() {
856
- const aborted = abortedFlags.get(this);
857
- if (typeof aborted !== "boolean") {
858
- throw new TypeError(
859
- `Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`
860
- );
861
- }
862
- return aborted;
863
- }
864
- };
865
- function createAbortSignal() {
866
- const signal = GjsifyAbortSignal._create();
867
- abortedFlags.set(signal, false);
868
- return signal;
869
- }
870
- function abortSignal(signal) {
871
- if (abortedFlags.get(signal) !== false) {
872
- return;
873
- }
874
- abortedFlags.set(signal, true);
875
- signal.dispatchEvent(new Event("abort"));
876
- }
877
- var abortedFlags = /* @__PURE__ */ new WeakMap();
878
- Object.defineProperties(GjsifyAbortSignal.prototype, {
879
- aborted: { enumerable: true }
880
- });
881
- if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
882
- Object.defineProperty(GjsifyAbortSignal.prototype, Symbol.toStringTag, {
883
- configurable: true,
884
- value: "AbortSignal"
885
- });
886
- }
887
-
888
- // ../../web/abort-controller/lib/esm/abort-controller.js
889
- var GjsifyAbortController = class {
890
- constructor() {
891
- signals.set(this, createAbortSignal());
892
- }
893
- get signal() {
894
- return getSignal(this);
895
- }
896
- abort() {
897
- abortSignal(getSignal(this));
898
- }
899
- };
900
- var signals = /* @__PURE__ */ new WeakMap();
901
- function getSignal(controller) {
902
- const signal = signals.get(controller);
903
- if (signal == null) {
904
- throw new TypeError(
905
- `Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`
906
- );
907
- }
908
- return signal;
909
- }
910
- Object.defineProperties(GjsifyAbortController.prototype, {
911
- signal: { enumerable: true },
912
- abort: { enumerable: true }
913
- });
914
- if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
915
- Object.defineProperty(GjsifyAbortController.prototype, Symbol.toStringTag, {
916
- configurable: true,
917
- value: "AbortController"
918
- });
919
- }
920
-
921
- // ../../web/abort-controller/lib/esm/index.js
922
- var AbortController = globalThis.AbortController || GjsifyAbortController;
923
- var AbortSignal = globalThis.AbortSignal || GjsifyAbortSignal;
924
-
925
- // ../../gjs/unit/lib/esm/index.js
926
- import nodeAssert from "assert";
927
- var _a;
928
- var mainloop = (_a = globalThis == null ? void 0 : globalThis.imports) == null ? void 0 : _a.mainloop;
929
- var countTestsOverall = 0;
930
- var countTestsFailed = 0;
931
- var countTestsIgnored = 0;
932
- var runtime = "";
933
- var RED = "\x1B[31m";
934
- var GREEN = "\x1B[32m";
935
- var BLUE = "\x1B[34m";
936
- var GRAY = "\x1B[90m";
937
- var RESET = "\x1B[39m";
938
- var print = globalThis.print || console.log;
939
- var MatcherFactory = class {
940
- constructor(actualValue, positive, negated) {
941
- this.actualValue = actualValue;
942
- this.positive = positive;
943
- if (negated) {
944
- this.not = negated;
945
- } else {
946
- this.not = new MatcherFactory(actualValue, !positive, this);
947
- }
948
- }
949
- triggerResult(success, msg) {
950
- if (success && !this.positive || !success && this.positive) {
951
- ++countTestsFailed;
952
- throw new Error(msg);
953
- }
954
- }
955
- to(callback) {
956
- this.triggerResult(
957
- callback(this.actualValue),
958
- ` Expected callback to validate`
959
- );
960
- }
961
- toBe(expectedValue) {
962
- this.triggerResult(
963
- this.actualValue === expectedValue,
964
- ` Expected values to match using ===
965
- Expected: ${expectedValue} (${typeof expectedValue})
966
- Actual: ${this.actualValue} (${typeof this.actualValue})`
967
- );
968
- }
969
- toEqual(expectedValue) {
970
- this.triggerResult(
971
- this.actualValue == expectedValue,
972
- ` Expected values to match using ==
973
- Expected: ${expectedValue} (${typeof expectedValue})
974
- Actual: ${this.actualValue} (${typeof this.actualValue})`
975
- );
976
- }
977
- toEqualArray(expectedValue) {
978
- let success = Array.isArray(this.actualValue) && Array.isArray(expectedValue) && this.actualValue.length === expectedValue.length;
979
- for (let i = 0; i < this.actualValue.length; i++) {
980
- const actualVal = this.actualValue[i];
981
- const expectedVal = expectedValue[i];
982
- success = actualVal == expectedVal;
983
- if (!success)
984
- break;
985
- }
986
- this.triggerResult(
987
- success,
988
- ` Expected array items to match using ==
989
- Expected: ${expectedValue} (${typeof expectedValue})
990
- Actual: ${this.actualValue} (${typeof this.actualValue})`
991
- );
992
- }
993
- toMatch(expectedValue) {
994
- if (typeof this.actualValue.match !== "function") {
995
- throw new Error(`You can not use toMatch on type ${typeof this.actualValue}`);
996
- }
997
- this.triggerResult(
998
- !!this.actualValue.match(expectedValue),
999
- " Expected values to match using regular expression\n Expression: " + expectedValue + "\n Actual: " + this.actualValue
1000
- );
1001
- }
1002
- toBeDefined() {
1003
- this.triggerResult(
1004
- typeof this.actualValue !== "undefined",
1005
- ` Expected value to be defined`
1006
- );
1007
- }
1008
- toBeUndefined() {
1009
- this.triggerResult(
1010
- typeof this.actualValue === "undefined",
1011
- ` Expected value to be undefined`
1012
- );
1013
- }
1014
- toBeNull() {
1015
- this.triggerResult(
1016
- this.actualValue === null,
1017
- ` Expected value to be null`
1018
- );
1019
- }
1020
- toBeTruthy() {
1021
- this.triggerResult(
1022
- this.actualValue,
1023
- ` Expected value to be truthy`
1024
- );
1025
- }
1026
- toBeFalsy() {
1027
- this.triggerResult(
1028
- !this.actualValue,
1029
- ` Expected value to be falsy`
1030
- );
1031
- }
1032
- toContain(needle) {
1033
- this.triggerResult(
1034
- this.actualValue instanceof Array && this.actualValue.indexOf(needle) !== -1,
1035
- ` Expected ` + this.actualValue + ` to contain ` + needle
1036
- );
1037
- }
1038
- toBeLessThan(greaterValue) {
1039
- this.triggerResult(
1040
- this.actualValue < greaterValue,
1041
- ` Expected ` + this.actualValue + ` to be less than ` + greaterValue
1042
- );
1043
- }
1044
- toBeGreaterThan(smallerValue) {
1045
- this.triggerResult(
1046
- this.actualValue > smallerValue,
1047
- ` Expected ` + this.actualValue + ` to be greater than ` + smallerValue
1048
- );
1049
- }
1050
- toBeCloseTo(expectedValue, precision) {
1051
- const shiftHelper = Math.pow(10, precision);
1052
- this.triggerResult(
1053
- Math.round(this.actualValue * shiftHelper) / shiftHelper === Math.round(expectedValue * shiftHelper) / shiftHelper,
1054
- ` Expected ` + this.actualValue + ` with precision ` + precision + ` to be close to ` + expectedValue
1055
- );
1056
- }
1057
- toThrow(ErrorType) {
1058
- let errorMessage = "";
1059
- let didThrow = false;
1060
- let typeMatch = true;
1061
- try {
1062
- this.actualValue();
1063
- didThrow = false;
1064
- } catch (e) {
1065
- errorMessage = e.message || "";
1066
- didThrow = true;
1067
- if (ErrorType) {
1068
- typeMatch = e instanceof ErrorType;
1069
- }
1070
- }
1071
- const functionName = this.actualValue.name || typeof this.actualValue === "function" ? "[anonymous function]" : this.actualValue.toString();
1072
- this.triggerResult(
1073
- didThrow,
1074
- ` Expected ${functionName} to ${this.positive ? "throw" : "not throw"} an exception ${!this.positive && errorMessage ? `, but an error with the message "${errorMessage}" was thrown` : ""}`
1075
- );
1076
- if (ErrorType) {
1077
- this.triggerResult(
1078
- typeMatch,
1079
- ` Expected Error type '${ErrorType.name}', but the error is not an instance of it`
1080
- );
1081
- }
1082
- }
1083
- };
1084
- var describe = async function(moduleName, callback) {
1085
- print("\n" + moduleName);
1086
- await callback();
1087
- beforeEachCb = null;
1088
- afterEachCb = null;
1089
- };
1090
- var beforeEachCb;
1091
- var afterEachCb;
1092
- var it = async function(expectation, callback) {
1093
- try {
1094
- if (typeof beforeEachCb === "function") {
1095
- await beforeEachCb();
1096
- }
1097
- await callback();
1098
- if (typeof afterEachCb === "function") {
1099
- await afterEachCb();
1100
- }
1101
- print(` ${GREEN}\u2714${RESET} ${GRAY}${expectation}${RESET}`);
1102
- } catch (e) {
1103
- print(` ${RED}\u274C${RESET} ${GRAY}${expectation}${RESET}`);
1104
- print(`${RED}${e.message}${RESET}`);
1105
- }
1106
- };
1107
- var expect = function(actualValue) {
1108
- ++countTestsOverall;
1109
- const expecter = new MatcherFactory(actualValue, true);
1110
- return expecter;
1111
- };
1112
- var assert = function(success, message) {
1113
- ++countTestsOverall;
1114
- if (!success) {
1115
- ++countTestsFailed;
1116
- }
1117
- nodeAssert(success, message);
1118
- };
1119
- assert.strictEqual = function(actual, expected, message) {
1120
- ++countTestsOverall;
1121
- try {
1122
- nodeAssert.strictEqual(actual, expected, message);
1123
- } catch (error) {
1124
- ++countTestsFailed;
1125
- throw error;
1126
- }
1127
- };
1128
- assert.throws = function(promiseFn, ...args) {
1129
- ++countTestsOverall;
1130
- let error;
1131
- try {
1132
- promiseFn();
1133
- } catch (e) {
1134
- error = e;
1135
- }
1136
- if (!error)
1137
- ++countTestsFailed;
1138
- nodeAssert.throws(() => {
1139
- if (error)
1140
- throw error;
1141
- }, args[0], args[1]);
1142
- };
1143
- assert.deepStrictEqual = function(actual, expected, message) {
1144
- ++countTestsOverall;
1145
- try {
1146
- nodeAssert.deepStrictEqual(actual, expected, message);
1147
- } catch (error) {
1148
- ++countTestsFailed;
1149
- throw error;
1150
- }
1151
- };
1152
- var runTests = async function(namespaces) {
1153
- for (const subNamespace in namespaces) {
1154
- const namespace = namespaces[subNamespace];
1155
- if (typeof namespace === "function") {
1156
- await namespace();
1157
- } else if (typeof namespace === "object") {
1158
- await runTests(namespace);
1159
- }
1160
- }
1161
- };
1162
- var printResult = () => {
1163
- if (countTestsIgnored) {
1164
- print(`
1165
- ${BLUE}\u2714 ${countTestsIgnored} ignored test${countTestsIgnored > 1 ? "s" : ""}${RESET}`);
1166
- }
1167
- if (countTestsFailed) {
1168
- print(`
1169
- ${RED}\u274C ${countTestsFailed} of ${countTestsOverall} tests failed${RESET}`);
1170
- } else {
1171
- print(`
1172
- ${GREEN}\u2714 ${countTestsOverall} completed${RESET}`);
1173
- }
1174
- };
1175
- var getRuntime = async () => {
1176
- var _a2, _b, _c, _d, _e, _f;
1177
- if (runtime && runtime !== "Unknown") {
1178
- return runtime;
1179
- }
1180
- if ((_b = (_a2 = globalThis.Deno) == null ? void 0 : _a2.version) == null ? void 0 : _b.deno) {
1181
- return "Deno " + ((_d = (_c = globalThis.Deno) == null ? void 0 : _c.version) == null ? void 0 : _d.deno);
1182
- } else {
1183
- let process2 = globalThis.process;
1184
- if (!process2) {
1185
- try {
1186
- process2 = await import("process");
1187
- } catch (error) {
1188
- console.error(error);
1189
- console.warn(error.message);
1190
- runtime = "Unknown";
1191
- }
1192
- }
1193
- if ((_e = process2 == null ? void 0 : process2.versions) == null ? void 0 : _e.gjs) {
1194
- runtime = "Gjs " + process2.versions.gjs;
1195
- } else if ((_f = process2 == null ? void 0 : process2.versions) == null ? void 0 : _f.node) {
1196
- runtime = "Node.js " + process2.versions.node;
1197
- }
1198
- }
1199
- return runtime || "Unknown";
1200
- };
1201
- var printRuntime = async () => {
1202
- const runtime2 = await getRuntime();
1203
- print(`Running on ${runtime2}`);
1204
- };
1205
- var run = async (namespaces) => {
1206
- printRuntime().then(async () => {
1207
- return runTests(namespaces).then(() => {
1208
- printResult();
1209
- print();
1210
- mainloop == null ? void 0 : mainloop.quit();
1211
- });
1212
- });
1213
- mainloop == null ? void 0 : mainloop.run();
1214
- };
1215
-
1216
- // src/index.spec.ts
1217
- import { Stream, Readable } from "stream";
1218
- var index_spec_default = async () => {
1219
- await describe("stream.Stream", async () => {
1220
- await it("should be able to create an instance of Stream", async () => {
1221
- const stream = new Stream();
1222
- expect(stream).toBeDefined();
1223
- });
1224
- });
1225
- await describe("stream.Readable", async () => {
1226
- await it("should be able to create an instance of Readable", async () => {
1227
- const readable = new Readable();
1228
- expect(readable).toBeDefined();
1229
- });
1230
- });
1231
- };
1232
-
1233
- // src/test.ts
1234
- run({ testSuite: index_spec_default });