Skip to content

Commit 3b7db43

Browse files
committed
Require Node.js 14 and move to ESM
1 parent 5d814d9 commit 3b7db43

File tree

13 files changed

+348
-318
lines changed

13 files changed

+348
-318
lines changed

.github/workflows/main.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
node-version:
13+
- 18
1314
- 16
1415
steps:
15-
- uses: actions/checkout@v2
16-
- uses: actions/setup-node@v2
16+
- uses: actions/checkout@v3
17+
- uses: actions/setup-node@v3
1718
with:
1819
node-version: ${{ matrix.node-version }}
1920
- run: npm install
2021
- run: npm test
21-
- uses: codecov/codecov-action@v1
22-
if: matrix.node-version == 14
23-
with:
24-
fail_ci_if_error: true
22+
# - uses: codecov/codecov-action@v3
23+
# if: matrix.node-version == 16
24+
# with:
25+
# fail_ci_if_error: true

examples/clock.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#!/usr/bin/env node
2-
'use strict';
3-
4-
const Emittery = require('..');
2+
import process from 'node:process';
3+
import Emittery from '../index.js';
54

65
class Clock extends Emittery {
76
constructor() {

examples/clocktyped.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#!/usr/bin/env npx ts-node
2-
import {setInterval} from 'timers';
3-
import Emittery = require('..');
2+
/* eslint-disable @typescript-eslint/no-floating-promises */
3+
import process from 'node:process';
4+
import {setInterval} from 'node:timers';
5+
import Emittery from '../index.js';
46

5-
interface TickData {
7+
type TickData = {
68
now: number;
79
duration: number;
8-
}
10+
};
911

1012
// Map Clock's events emitting data to the type of their data.
1113
type EventDataMap = {
@@ -17,7 +19,7 @@ type EventDataMap = {
1719

1820
class Clock extends Emittery<EventDataMap> {
1921
private startedAt = 0;
20-
private timer: NodeJS.Timer | null = null;
22+
private timer: NodeJS.Timer | undefined = null;
2123

2224
public constructor() {
2325
super();

examples/emit.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
#!/usr/bin/env node
2-
3-
'use strict';
4-
5-
const Emittery = require('..');
2+
import Emittery from '../index.js';
63

74
const myEmitter = new Emittery();
85

96
// Register listener
10-
myEmitter.on('event', () => console.log('an event occurred!'));
11-
myEmitter.onAny(eventName => console.log('"%s" event occurred!', eventName));
7+
myEmitter.on('event', () => {
8+
console.log('an event occurred!');
9+
});
10+
11+
myEmitter.onAny(eventName => {
12+
console.log('`%s` event occurred!', eventName);
13+
});
1214

1315
// Emit event in next tick
1416
myEmitter.emit('event');
1517

1618
// Prints:
1719
// an event occurred!
18-
// "event" event occurred!
20+
// `event` event occurred!

examples/emitonce.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
#!/usr/bin/env node
2-
3-
'use strict';
4-
5-
const Emittery = require('..');
2+
import Emittery from '../index.js';
63

74
const myEmitter = new Emittery();
85

96
// Register listener for only the one event
10-
myEmitter.once('event')
11-
.then(count => console.log('an event occurred (#%d).', count));
7+
(async () => {
8+
console.log('An event occurred (#%d).', await myEmitter.once('event'));
9+
})();
1210

1311
// Emit events in next tick
1412
myEmitter.emit('event', 1);
1513
myEmitter.emit('event', 2);
1614

1715
// Prints:
18-
// an event occurred (#1).
16+
// An event occurred (#1).

examples/eventdata.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
#!/usr/bin/env node
2-
3-
'use strict';
4-
5-
const Emittery = require('..');
2+
import Emittery from '../index.js';
63

74
const myEmitter = new Emittery();
85

96
// Does not provide a context either.
10-
myEmitter.on('event', function ({a, b}, ...args) {
11-
console.log(a, b, args, this);
7+
myEmitter.on('event', function ({a, b}, ...arguments_) {
8+
console.log(a, b, arguments_, this);
129
});
1310

1411
// Only accept one event data parameter

0 commit comments

Comments
 (0)