Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: upgrade mitt #9340

Merged
merged 2 commits into from Nov 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/api/puppeteer.eventemitter.addlistener.md
Expand Up @@ -14,16 +14,16 @@ Add an event listener.

```typescript
class EventEmitter {
addListener(event: EventType, handler: Handler): EventEmitter;
addListener(event: EventType, handler: Handler<any>): EventEmitter;
}
```

## Parameters

| Parameter | Type | Description |
| --------- | ------------------------------------- | ----------- |
| event | [EventType](./puppeteer.eventtype.md) | |
| handler | [Handler](./puppeteer.handler.md) | |
| Parameter | Type | Description |
| --------- | -------------------------------------------- | ----------- |
| event | [EventType](./puppeteer.eventtype.md) | |
| handler | [Handler](./puppeteer.handler.md)&lt;any&gt; | |

**Returns:**

Expand Down
10 changes: 5 additions & 5 deletions docs/api/puppeteer.eventemitter.off.md
Expand Up @@ -10,16 +10,16 @@ Remove an event listener from firing.

```typescript
class EventEmitter {
off(event: EventType, handler: Handler): EventEmitter;
off(event: EventType, handler: Handler<any>): EventEmitter;
}
```

## Parameters

| Parameter | Type | Description |
| --------- | ------------------------------------- | ----------------------------------------------- |
| event | [EventType](./puppeteer.eventtype.md) | the event type you'd like to stop listening to. |
| handler | [Handler](./puppeteer.handler.md) | the function that should be removed. |
| Parameter | Type | Description |
| --------- | -------------------------------------------- | ----------------------------------------------- |
| event | [EventType](./puppeteer.eventtype.md) | the event type you'd like to stop listening to. |
| handler | [Handler](./puppeteer.handler.md)&lt;any&gt; | the function that should be removed. |

**Returns:**

Expand Down
10 changes: 5 additions & 5 deletions docs/api/puppeteer.eventemitter.on.md
Expand Up @@ -10,16 +10,16 @@ Bind an event listener to fire when an event occurs.

```typescript
class EventEmitter {
on(event: EventType, handler: Handler): EventEmitter;
on(event: EventType, handler: Handler<any>): EventEmitter;
}
```

## Parameters

| Parameter | Type | Description |
| --------- | ------------------------------------- | ------------------------------------------------------------------ |
| event | [EventType](./puppeteer.eventtype.md) | the event type you'd like to listen to. Can be a string or symbol. |
| handler | [Handler](./puppeteer.handler.md) | the function to be called when the event occurs. |
| Parameter | Type | Description |
| --------- | -------------------------------------------- | ------------------------------------------------------------------ |
| event | [EventType](./puppeteer.eventtype.md) | the event type you'd like to listen to. Can be a string or symbol. |
| handler | [Handler](./puppeteer.handler.md)&lt;any&gt; | the function to be called when the event occurs. |

**Returns:**

Expand Down
10 changes: 5 additions & 5 deletions docs/api/puppeteer.eventemitter.once.md
Expand Up @@ -10,16 +10,16 @@ Like `on` but the listener will only be fired once and then it will be removed.

```typescript
class EventEmitter {
once(event: EventType, handler: Handler): EventEmitter;
once(event: EventType, handler: Handler<any>): EventEmitter;
}
```

## Parameters

| Parameter | Type | Description |
| --------- | ------------------------------------- | ------------------------------------------------- |
| event | [EventType](./puppeteer.eventtype.md) | the event you'd like to listen to |
| handler | [Handler](./puppeteer.handler.md) | the handler function to run when the event occurs |
| Parameter | Type | Description |
| --------- | -------------------------------------------- | ------------------------------------------------- |
| event | [EventType](./puppeteer.eventtype.md) | the event you'd like to listen to |
| handler | [Handler](./puppeteer.handler.md)&lt;any&gt; | the handler function to run when the event occurs |

**Returns:**

Expand Down
10 changes: 5 additions & 5 deletions docs/api/puppeteer.eventemitter.removelistener.md
Expand Up @@ -14,16 +14,16 @@ Remove an event listener.

```typescript
class EventEmitter {
removeListener(event: EventType, handler: Handler): EventEmitter;
removeListener(event: EventType, handler: Handler<any>): EventEmitter;
}
```

## Parameters

| Parameter | Type | Description |
| --------- | ------------------------------------- | ----------- |
| event | [EventType](./puppeteer.eventtype.md) | |
| handler | [Handler](./puppeteer.handler.md) | |
| Parameter | Type | Description |
| --------- | -------------------------------------------- | ----------- |
| event | [EventType](./puppeteer.eventtype.md) | |
| handler | [Handler](./puppeteer.handler.md)&lt;any&gt; | |

**Returns:**

Expand Down
2 changes: 1 addition & 1 deletion docs/api/puppeteer.handler.md
Expand Up @@ -7,5 +7,5 @@ sidebar_label: Handler
#### Signature:

```typescript
declare type Handler<T = any> = (event?: T) => void;
declare type Handler<T = unknown> = (event: T) => void;
```
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -81,7 +81,7 @@
"jpeg-js": "0.4.4",
"mime": "3.0.0",
"minimist": "1.2.6",
"mitt": "2.1.0",
"mitt": "3.0.0",
"mocha": "10.0.0",
"ncp": "2.0.0",
"npm-run-all": "4.1.5",
Expand Down
2 changes: 1 addition & 1 deletion packages/puppeteer-core/src/api/Page.ts
Expand Up @@ -425,7 +425,7 @@ export interface PageEventObject {
* @public
*/
export class Page extends EventEmitter {
#handlerMap = new WeakMap<Handler, Handler>();
#handlerMap = new WeakMap<Handler<any>, Handler<any>>();

/**
* @internal
Expand Down
17 changes: 9 additions & 8 deletions packages/puppeteer-core/src/common/EventEmitter.ts
Expand Up @@ -17,6 +17,7 @@
import mitt, {
Emitter,
EventType,
EventHandlerMap,
Handler,
} from '../../third_party/mitt/index.js';

Expand Down Expand Up @@ -57,8 +58,8 @@ export interface CommonEventEmitter {
* @public
*/
export class EventEmitter implements CommonEventEmitter {
private emitter: Emitter;
private eventsMap = new Map<EventType, Handler[]>();
private emitter: Emitter<Record<string | symbol, any>>;
private eventsMap: EventHandlerMap<Record<string | symbol, any>> = new Map();

/**
* @internal
Expand All @@ -73,7 +74,7 @@ export class EventEmitter implements CommonEventEmitter {
* @param handler - the function to be called when the event occurs.
* @returns `this` to enable you to chain method calls.
*/
on(event: EventType, handler: Handler): EventEmitter {
on(event: EventType, handler: Handler<any>): EventEmitter {
this.emitter.on(event, handler);
return this;
}
Expand All @@ -84,7 +85,7 @@ export class EventEmitter implements CommonEventEmitter {
* @param handler - the function that should be removed.
* @returns `this` to enable you to chain method calls.
*/
off(event: EventType, handler: Handler): EventEmitter {
off(event: EventType, handler: Handler<any>): EventEmitter {
this.emitter.off(event, handler);
return this;
}
Expand All @@ -93,7 +94,7 @@ export class EventEmitter implements CommonEventEmitter {
* Remove an event listener.
* @deprecated please use {@link EventEmitter.off} instead.
*/
removeListener(event: EventType, handler: Handler): EventEmitter {
removeListener(event: EventType, handler: Handler<any>): EventEmitter {
this.off(event, handler);
return this;
}
Expand All @@ -102,7 +103,7 @@ export class EventEmitter implements CommonEventEmitter {
* Add an event listener.
* @deprecated please use {@link EventEmitter.on} instead.
*/
addListener(event: EventType, handler: Handler): EventEmitter {
addListener(event: EventType, handler: Handler<any>): EventEmitter {
this.on(event, handler);
return this;
}
Expand All @@ -125,8 +126,8 @@ export class EventEmitter implements CommonEventEmitter {
* @param handler - the handler function to run when the event occurs
* @returns `this` to enable you to chain method calls.
*/
once(event: EventType, handler: Handler): EventEmitter {
const onceHandler: Handler = eventData => {
once(event: EventType, handler: Handler<any>): EventEmitter {
const onceHandler: Handler<any> = eventData => {
handler(eventData);
this.off(event, onceHandler);
};
Expand Down
5 changes: 4 additions & 1 deletion test/src/CDPSession.spec.ts
Expand Up @@ -64,7 +64,10 @@ describe('Target.createCDPSession', function () {
client.on('Network.requestWillBeSent', event => {
return events.push(event);
});
await page.goto(server.EMPTY_PAGE);
await Promise.all([
waitEvent(client, 'Network.requestWillBeSent'),
page.goto(server.EMPTY_PAGE),
]);
expect(events.length).toBe(1);
});
it('should enable and disable domains independently', async () => {
Expand Down