@gjsify/dom-events 0.0.4 → 0.1.1
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/README.md +30 -1
- package/globals.mjs +7 -0
- package/lib/esm/index.js +488 -1
- package/lib/types/index.d.ts +307 -1
- package/package.json +18 -24
- package/src/error-handler.spec.ts +2 -2
- package/src/event-target.spec.ts +2 -2
- package/src/event.spec.ts +3 -2
- package/src/index.ts +642 -1
- package/src/test.mts +2 -1
- package/src/ui-events.spec.ts +312 -0
- package/tsconfig.json +20 -7
- package/tsconfig.tsbuildinfo +1 -0
- package/lib/cjs/index.js +0 -1
- package/test.gjs.js +0 -34758
- package/test.gjs.js.map +0 -7
- package/test.gjs.mjs +0 -35685
- package/test.node.js +0 -1226
- package/test.node.js.map +0 -7
- package/test.node.mjs +0 -9879
- package/tsconfig.types.json +0 -8
- package/tsconfig.types.tsbuildinfo +0 -1
package/lib/types/index.d.ts
CHANGED
|
@@ -1 +1,307 @@
|
|
|
1
|
-
|
|
1
|
+
import { DOMException } from '@gjsify/dom-exception';
|
|
2
|
+
export { DOMException };
|
|
3
|
+
type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
|
|
4
|
+
interface EventListener {
|
|
5
|
+
(evt: Event): void;
|
|
6
|
+
}
|
|
7
|
+
interface EventListenerObject {
|
|
8
|
+
handleEvent(evt: Event): void;
|
|
9
|
+
}
|
|
10
|
+
interface AddEventListenerOptions extends EventListenerOptions {
|
|
11
|
+
once?: boolean;
|
|
12
|
+
passive?: boolean;
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
interface EventListenerOptions {
|
|
16
|
+
capture?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface EventInit {
|
|
19
|
+
bubbles?: boolean;
|
|
20
|
+
cancelable?: boolean;
|
|
21
|
+
composed?: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface CustomEventInit<T = any> extends EventInit {
|
|
24
|
+
detail?: T;
|
|
25
|
+
}
|
|
26
|
+
declare const kType: unique symbol;
|
|
27
|
+
declare const kBubbles: unique symbol;
|
|
28
|
+
declare const kCancelable: unique symbol;
|
|
29
|
+
declare const kComposed: unique symbol;
|
|
30
|
+
declare const kTarget: unique symbol;
|
|
31
|
+
declare const kCurrentTarget: unique symbol;
|
|
32
|
+
declare const kEventPhase: unique symbol;
|
|
33
|
+
declare const kDefaultPrevented: unique symbol;
|
|
34
|
+
declare const kIsTrusted: unique symbol;
|
|
35
|
+
declare const kTimeStamp: unique symbol;
|
|
36
|
+
declare const kStop: unique symbol;
|
|
37
|
+
declare const kImmediateStop: unique symbol;
|
|
38
|
+
declare const kDispatching: unique symbol;
|
|
39
|
+
declare const kInPassiveListener: unique symbol;
|
|
40
|
+
export declare class Event {
|
|
41
|
+
private [kType];
|
|
42
|
+
private [kBubbles];
|
|
43
|
+
private [kCancelable];
|
|
44
|
+
private [kComposed];
|
|
45
|
+
private [kTarget];
|
|
46
|
+
private [kCurrentTarget];
|
|
47
|
+
private [kEventPhase];
|
|
48
|
+
private [kDefaultPrevented];
|
|
49
|
+
private [kIsTrusted];
|
|
50
|
+
private [kTimeStamp];
|
|
51
|
+
private [kStop];
|
|
52
|
+
private [kImmediateStop];
|
|
53
|
+
private [kDispatching];
|
|
54
|
+
private [kInPassiveListener];
|
|
55
|
+
get type(): string;
|
|
56
|
+
get bubbles(): boolean;
|
|
57
|
+
get cancelable(): boolean;
|
|
58
|
+
get composed(): boolean;
|
|
59
|
+
get target(): EventTarget | null;
|
|
60
|
+
get currentTarget(): EventTarget | null;
|
|
61
|
+
get eventPhase(): number;
|
|
62
|
+
get defaultPrevented(): boolean;
|
|
63
|
+
get timeStamp(): number;
|
|
64
|
+
get cancelBubble(): boolean;
|
|
65
|
+
set cancelBubble(value: boolean);
|
|
66
|
+
get returnValue(): boolean;
|
|
67
|
+
set returnValue(value: boolean);
|
|
68
|
+
get srcElement(): EventTarget | null;
|
|
69
|
+
static readonly NONE = 0;
|
|
70
|
+
static readonly CAPTURING_PHASE = 1;
|
|
71
|
+
static readonly AT_TARGET = 2;
|
|
72
|
+
static readonly BUBBLING_PHASE = 3;
|
|
73
|
+
readonly NONE: 0;
|
|
74
|
+
readonly CAPTURING_PHASE: 1;
|
|
75
|
+
readonly AT_TARGET: 2;
|
|
76
|
+
readonly BUBBLING_PHASE: 3;
|
|
77
|
+
get [Symbol.toStringTag](): string;
|
|
78
|
+
constructor(type: string, eventInitDict?: EventInit);
|
|
79
|
+
composedPath(): EventTarget[];
|
|
80
|
+
preventDefault(): void;
|
|
81
|
+
stopPropagation(): void;
|
|
82
|
+
stopImmediatePropagation(): void;
|
|
83
|
+
}
|
|
84
|
+
export declare class CustomEvent<T = any> extends Event {
|
|
85
|
+
readonly detail: T;
|
|
86
|
+
constructor(type: string, eventInitDict?: CustomEventInit<T>);
|
|
87
|
+
}
|
|
88
|
+
interface MessageEventInit<T = any> extends EventInit {
|
|
89
|
+
data?: T;
|
|
90
|
+
origin?: string;
|
|
91
|
+
lastEventId?: string;
|
|
92
|
+
source?: EventTarget | null;
|
|
93
|
+
ports?: MessagePort[];
|
|
94
|
+
}
|
|
95
|
+
export declare class MessageEvent<T = any> extends Event {
|
|
96
|
+
readonly data: T;
|
|
97
|
+
readonly origin: string;
|
|
98
|
+
readonly lastEventId: string;
|
|
99
|
+
readonly source: EventTarget | null;
|
|
100
|
+
readonly ports: readonly MessagePort[];
|
|
101
|
+
constructor(type: string, eventInitDict?: MessageEventInit<T>);
|
|
102
|
+
get [Symbol.toStringTag](): string;
|
|
103
|
+
}
|
|
104
|
+
interface ErrorEventInit extends EventInit {
|
|
105
|
+
message?: string;
|
|
106
|
+
filename?: string;
|
|
107
|
+
lineno?: number;
|
|
108
|
+
colno?: number;
|
|
109
|
+
error?: unknown;
|
|
110
|
+
}
|
|
111
|
+
export declare class ErrorEvent extends Event {
|
|
112
|
+
readonly message: string;
|
|
113
|
+
readonly filename: string;
|
|
114
|
+
readonly lineno: number;
|
|
115
|
+
readonly colno: number;
|
|
116
|
+
readonly error: unknown;
|
|
117
|
+
constructor(type: string, eventInitDict?: ErrorEventInit);
|
|
118
|
+
get [Symbol.toStringTag](): string;
|
|
119
|
+
}
|
|
120
|
+
interface CloseEventInit extends EventInit {
|
|
121
|
+
code?: number;
|
|
122
|
+
reason?: string;
|
|
123
|
+
wasClean?: boolean;
|
|
124
|
+
}
|
|
125
|
+
export declare class CloseEvent extends Event {
|
|
126
|
+
readonly code: number;
|
|
127
|
+
readonly reason: string;
|
|
128
|
+
readonly wasClean: boolean;
|
|
129
|
+
constructor(type: string, eventInitDict?: CloseEventInit);
|
|
130
|
+
get [Symbol.toStringTag](): string;
|
|
131
|
+
}
|
|
132
|
+
interface ProgressEventInit extends EventInit {
|
|
133
|
+
lengthComputable?: boolean;
|
|
134
|
+
loaded?: number;
|
|
135
|
+
total?: number;
|
|
136
|
+
}
|
|
137
|
+
export declare class ProgressEvent extends Event {
|
|
138
|
+
readonly lengthComputable: boolean;
|
|
139
|
+
readonly loaded: number;
|
|
140
|
+
readonly total: number;
|
|
141
|
+
constructor(type: string, eventInitDict?: ProgressEventInit);
|
|
142
|
+
get [Symbol.toStringTag](): string;
|
|
143
|
+
}
|
|
144
|
+
export declare class EventTarget {
|
|
145
|
+
private _listeners;
|
|
146
|
+
get [Symbol.toStringTag](): string;
|
|
147
|
+
addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;
|
|
148
|
+
removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
|
|
149
|
+
dispatchEvent(event: Event): boolean;
|
|
150
|
+
}
|
|
151
|
+
interface UIEventInit extends EventInit {
|
|
152
|
+
detail?: number;
|
|
153
|
+
view?: null;
|
|
154
|
+
}
|
|
155
|
+
export declare class UIEvent extends Event {
|
|
156
|
+
readonly detail: number;
|
|
157
|
+
readonly view: null;
|
|
158
|
+
constructor(type: string, eventInitDict?: UIEventInit);
|
|
159
|
+
get [Symbol.toStringTag](): string;
|
|
160
|
+
}
|
|
161
|
+
interface MouseEventInit extends UIEventInit {
|
|
162
|
+
altKey?: boolean;
|
|
163
|
+
button?: number;
|
|
164
|
+
buttons?: number;
|
|
165
|
+
clientX?: number;
|
|
166
|
+
clientY?: number;
|
|
167
|
+
ctrlKey?: boolean;
|
|
168
|
+
metaKey?: boolean;
|
|
169
|
+
movementX?: number;
|
|
170
|
+
movementY?: number;
|
|
171
|
+
offsetX?: number;
|
|
172
|
+
offsetY?: number;
|
|
173
|
+
screenX?: number;
|
|
174
|
+
screenY?: number;
|
|
175
|
+
shiftKey?: boolean;
|
|
176
|
+
relatedTarget?: EventTarget | null;
|
|
177
|
+
}
|
|
178
|
+
export declare class MouseEvent extends UIEvent {
|
|
179
|
+
readonly altKey: boolean;
|
|
180
|
+
readonly button: number;
|
|
181
|
+
readonly buttons: number;
|
|
182
|
+
readonly clientX: number;
|
|
183
|
+
readonly clientY: number;
|
|
184
|
+
readonly ctrlKey: boolean;
|
|
185
|
+
readonly metaKey: boolean;
|
|
186
|
+
readonly movementX: number;
|
|
187
|
+
readonly movementY: number;
|
|
188
|
+
readonly offsetX: number;
|
|
189
|
+
readonly offsetY: number;
|
|
190
|
+
readonly screenX: number;
|
|
191
|
+
readonly screenY: number;
|
|
192
|
+
readonly shiftKey: boolean;
|
|
193
|
+
readonly relatedTarget: EventTarget | null;
|
|
194
|
+
get pageX(): number;
|
|
195
|
+
get pageY(): number;
|
|
196
|
+
get x(): number;
|
|
197
|
+
get y(): number;
|
|
198
|
+
constructor(type: string, eventInitDict?: MouseEventInit);
|
|
199
|
+
getModifierState(key: string): boolean;
|
|
200
|
+
get [Symbol.toStringTag](): string;
|
|
201
|
+
}
|
|
202
|
+
interface PointerEventInit extends MouseEventInit {
|
|
203
|
+
pointerId?: number;
|
|
204
|
+
width?: number;
|
|
205
|
+
height?: number;
|
|
206
|
+
pressure?: number;
|
|
207
|
+
tangentialPressure?: number;
|
|
208
|
+
tiltX?: number;
|
|
209
|
+
tiltY?: number;
|
|
210
|
+
twist?: number;
|
|
211
|
+
altitudeAngle?: number;
|
|
212
|
+
azimuthAngle?: number;
|
|
213
|
+
pointerType?: string;
|
|
214
|
+
isPrimary?: boolean;
|
|
215
|
+
}
|
|
216
|
+
export declare class PointerEvent extends MouseEvent {
|
|
217
|
+
readonly pointerId: number;
|
|
218
|
+
readonly width: number;
|
|
219
|
+
readonly height: number;
|
|
220
|
+
readonly pressure: number;
|
|
221
|
+
readonly tangentialPressure: number;
|
|
222
|
+
readonly tiltX: number;
|
|
223
|
+
readonly tiltY: number;
|
|
224
|
+
readonly twist: number;
|
|
225
|
+
readonly altitudeAngle: number;
|
|
226
|
+
readonly azimuthAngle: number;
|
|
227
|
+
readonly pointerType: string;
|
|
228
|
+
readonly isPrimary: boolean;
|
|
229
|
+
constructor(type: string, eventInitDict?: PointerEventInit);
|
|
230
|
+
getCoalescedEvents(): PointerEvent[];
|
|
231
|
+
getPredictedEvents(): PointerEvent[];
|
|
232
|
+
get [Symbol.toStringTag](): string;
|
|
233
|
+
}
|
|
234
|
+
interface KeyboardEventInit extends UIEventInit {
|
|
235
|
+
altKey?: boolean;
|
|
236
|
+
code?: string;
|
|
237
|
+
ctrlKey?: boolean;
|
|
238
|
+
isComposing?: boolean;
|
|
239
|
+
key?: string;
|
|
240
|
+
location?: number;
|
|
241
|
+
metaKey?: boolean;
|
|
242
|
+
repeat?: boolean;
|
|
243
|
+
shiftKey?: boolean;
|
|
244
|
+
keyCode?: number;
|
|
245
|
+
which?: number;
|
|
246
|
+
}
|
|
247
|
+
export declare class KeyboardEvent extends UIEvent {
|
|
248
|
+
readonly altKey: boolean;
|
|
249
|
+
readonly code: string;
|
|
250
|
+
readonly ctrlKey: boolean;
|
|
251
|
+
readonly isComposing: boolean;
|
|
252
|
+
readonly key: string;
|
|
253
|
+
readonly location: number;
|
|
254
|
+
readonly metaKey: boolean;
|
|
255
|
+
readonly repeat: boolean;
|
|
256
|
+
readonly shiftKey: boolean;
|
|
257
|
+
readonly keyCode: number;
|
|
258
|
+
readonly which: number;
|
|
259
|
+
static readonly DOM_KEY_LOCATION_STANDARD = 0;
|
|
260
|
+
static readonly DOM_KEY_LOCATION_LEFT = 1;
|
|
261
|
+
static readonly DOM_KEY_LOCATION_RIGHT = 2;
|
|
262
|
+
static readonly DOM_KEY_LOCATION_NUMPAD = 3;
|
|
263
|
+
constructor(type: string, eventInitDict?: KeyboardEventInit);
|
|
264
|
+
getModifierState(key: string): boolean;
|
|
265
|
+
get [Symbol.toStringTag](): string;
|
|
266
|
+
}
|
|
267
|
+
interface WheelEventInit extends MouseEventInit {
|
|
268
|
+
deltaX?: number;
|
|
269
|
+
deltaY?: number;
|
|
270
|
+
deltaZ?: number;
|
|
271
|
+
deltaMode?: number;
|
|
272
|
+
}
|
|
273
|
+
export declare class WheelEvent extends MouseEvent {
|
|
274
|
+
readonly deltaX: number;
|
|
275
|
+
readonly deltaY: number;
|
|
276
|
+
readonly deltaZ: number;
|
|
277
|
+
readonly deltaMode: number;
|
|
278
|
+
static readonly DOM_DELTA_PIXEL = 0;
|
|
279
|
+
static readonly DOM_DELTA_LINE = 1;
|
|
280
|
+
static readonly DOM_DELTA_PAGE = 2;
|
|
281
|
+
constructor(type: string, eventInitDict?: WheelEventInit);
|
|
282
|
+
get [Symbol.toStringTag](): string;
|
|
283
|
+
}
|
|
284
|
+
interface FocusEventInit extends UIEventInit {
|
|
285
|
+
relatedTarget?: EventTarget | null;
|
|
286
|
+
}
|
|
287
|
+
export declare class FocusEvent extends UIEvent {
|
|
288
|
+
readonly relatedTarget: EventTarget | null;
|
|
289
|
+
constructor(type: string, eventInitDict?: FocusEventInit);
|
|
290
|
+
get [Symbol.toStringTag](): string;
|
|
291
|
+
}
|
|
292
|
+
declare const _default: {
|
|
293
|
+
Event: typeof Event;
|
|
294
|
+
CustomEvent: typeof CustomEvent;
|
|
295
|
+
EventTarget: typeof EventTarget;
|
|
296
|
+
MessageEvent: typeof MessageEvent;
|
|
297
|
+
ErrorEvent: typeof ErrorEvent;
|
|
298
|
+
CloseEvent: typeof CloseEvent;
|
|
299
|
+
ProgressEvent: typeof ProgressEvent;
|
|
300
|
+
UIEvent: typeof UIEvent;
|
|
301
|
+
MouseEvent: typeof MouseEvent;
|
|
302
|
+
PointerEvent: typeof PointerEvent;
|
|
303
|
+
KeyboardEvent: typeof KeyboardEvent;
|
|
304
|
+
WheelEvent: typeof WheelEvent;
|
|
305
|
+
FocusEvent: typeof FocusEvent;
|
|
306
|
+
};
|
|
307
|
+
export default _default;
|
package/package.json
CHANGED
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/dom-events",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Web events module for Gjs",
|
|
5
|
-
"main": "lib/cjs/index.js",
|
|
6
5
|
"module": "lib/esm/index.js",
|
|
7
|
-
"types": "lib/types/index.d.
|
|
6
|
+
"types": "lib/types/index.d.ts",
|
|
8
7
|
"type": "module",
|
|
9
8
|
"exports": {
|
|
10
9
|
".": {
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"require": {
|
|
16
|
-
"types": "./lib/types/index.d.ts",
|
|
17
|
-
"default": "./lib/cjs/index.js"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
10
|
+
"types": "./lib/types/index.d.ts",
|
|
11
|
+
"default": "./lib/esm/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./globals": "./globals.mjs"
|
|
20
14
|
},
|
|
21
15
|
"scripts": {
|
|
22
|
-
"clear": "rm -rf lib tsconfig.tsbuildinfo test.gjs.mjs",
|
|
23
|
-
"
|
|
24
|
-
"build": "yarn
|
|
16
|
+
"clear": "rm -rf lib tsconfig.tsbuildinfo tsconfig.types.tsbuildinfo test.gjs.mjs test.node.mjs || exit 0",
|
|
17
|
+
"check": "tsc --noEmit",
|
|
18
|
+
"build": "yarn build:gjsify && yarn build:types",
|
|
25
19
|
"build:gjsify": "gjsify build --library 'src/**/*.{ts,js}' --exclude 'src/**/*.spec.{mts,ts}' 'src/test.{mts,ts}'",
|
|
26
|
-
"build:types": "tsc
|
|
20
|
+
"build:types": "tsc",
|
|
27
21
|
"build:test": "yarn build:test:gjs",
|
|
28
22
|
"build:test:gjs": "gjsify build src/test.mts --app gjs --outfile test.gjs.mjs",
|
|
29
|
-
"test": "yarn
|
|
23
|
+
"test": "yarn build:gjsify && yarn build:test && yarn test:gjs",
|
|
30
24
|
"test:gjs": "gjs -m test.gjs.mjs"
|
|
31
25
|
},
|
|
32
26
|
"keywords": [
|
|
@@ -34,13 +28,13 @@
|
|
|
34
28
|
"node",
|
|
35
29
|
"event"
|
|
36
30
|
],
|
|
37
|
-
"devDependencies": {
|
|
38
|
-
"@gjsify/cli": "^0.0.4",
|
|
39
|
-
"@gjsify/unit": "^0.0.4",
|
|
40
|
-
"@types/node": "^20.10.5",
|
|
41
|
-
"typescript": "^5.3.3"
|
|
42
|
-
},
|
|
43
31
|
"dependencies": {
|
|
44
|
-
"@gjsify/
|
|
32
|
+
"@gjsify/dom-exception": "^0.1.1"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@gjsify/cli": "^0.1.1",
|
|
36
|
+
"@gjsify/unit": "^0.1.1",
|
|
37
|
+
"@types/node": "^25.5.0",
|
|
38
|
+
"typescript": "^6.0.2"
|
|
45
39
|
}
|
|
46
40
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect, assert, spy, on } from '@gjsify/unit';
|
|
2
2
|
|
|
3
|
-
import { Event, EventTarget } from "
|
|
4
|
-
import process from 'process';
|
|
3
|
+
import { Event, EventTarget } from "dom-events";
|
|
4
|
+
import process from 'node:process';
|
|
5
5
|
|
|
6
6
|
export const ErrorHandlerTest = async () => {
|
|
7
7
|
await describe("The default error handler", async () => {
|
package/src/event-target.spec.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, it, assert, Spy, spy, beforeEach } from '@gjsify/unit';
|
|
2
2
|
|
|
3
|
-
import { Event, EventTarget } from "
|
|
4
|
-
import { AbortSignal } from "
|
|
3
|
+
import { Event, EventTarget } from "dom-events";
|
|
4
|
+
import { AbortSignal } from "abort-controller";
|
|
5
5
|
|
|
6
6
|
export const EventTargetTest = async () => {
|
|
7
7
|
await describe("EventTarget.constructor", async () => {
|
package/src/event.spec.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { describe, it, expect, assert } from '@gjsify/unit';
|
|
2
2
|
|
|
3
|
-
import { Event, EventTarget } from '
|
|
3
|
+
import { Event, EventTarget } from 'dom-events';
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
//
|
|
6
|
+
// Ported from event-target-shim (https://github.com/mysticatea/event-target-shim/blob/master/test/event.ts)
|
|
7
|
+
// Original: MIT license, Toru Nagashima
|
|
7
8
|
|
|
8
9
|
export const EventTest = async () => {
|
|
9
10
|
|