Chris Tate
309fa897ec
Use EventEmitter, the stream classes and the error classes as values
...
`function make(C: typeof EventEmitter) { return new C(); }`,
`const kinds: ErrorConstructor[] = [TypeError, RangeError]` and
`(typeof Readable)[]` stopped at SC2020 (the type has no mapping) or
SC1090 (builtin classes as values). These classes are now class values:
the name in a TypeScript file (or a const alias of it) is the class
object, `typeof EventEmitter`, `typeof Readable` and ErrorConstructor-
style types map to class values, and parameters, arrays, Map values and
object fields hold them.
Construction through a value calls %C.construct, which builds the
instance with the runtime constructor the direct `new` uses (emitter.new,
a stream's newDyn without options, error.newOptions for Error and its
six standard subclasses). instanceof, typeof, .name and === answer as in
Node. A Duplex value widens into a `typeof Readable` slot, and stream
values widen into `typeof EventEmitter` slots, as the constructor ABIs
match; a union of such class values (`const kinds = [Readable,
Writable]`) is a value of their nearest common ancestor, and `new K()`
through it answers the checker's union of instances. `instanceof`
through a value that may be Writable keeps the Duplex rule at run time.
EventEmitter and stream values constructed with options, runtime class
values stored as untyped values or printed, statics read through a value,
and DOMException, AggregateError, AssertionError and SuppressedError
values report SC1090. The existing static lowerings
(`EventEmitter.setMaxListeners`, `Error.stackTraceLimit`, the events
module) are unchanged. JavaScript files keep the identity token.
2026-10-19 04:48:10 -05:00
..
2026-07-22 18:08:04 -05:00
2026-09-15 21:17:31 -05:00
2026-10-18 06:24:04 -07:00
2026-09-14 09:19:08 -05:00
2026-10-17 19:58:21 -07:00
2026-10-17 19:58:21 -07:00
2026-10-08 11:29:07 -05:00
2026-10-08 11:29:07 -05:00
2026-10-08 11:29:07 -05:00
2026-10-08 11:29:07 -05:00
2026-10-17 15:47:37 -05:00
2026-10-09 23:07:57 -05:00
2026-07-22 18:08:04 -05:00
2026-08-08 11:35:01 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00
2026-08-08 11:35:01 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00
2026-10-17 16:06:08 -05:00
2026-09-20 15:59:34 -05:00
2026-07-22 18:08:04 -05:00
2026-10-12 12:25:30 -05:00
2026-07-23 00:40:54 -05:00
2026-08-08 11:35:01 -05:00
2026-08-08 11:35:01 -05:00
2026-10-07 13:55:11 -05:00
2026-10-13 19:12:53 -05:00
2026-10-01 17:36:29 -05:00
2026-09-28 13:54:28 -05:00
2026-10-15 22:01:38 -05:00
2026-10-15 22:01:38 -05:00
2026-09-15 00:03:07 -05:00
2026-10-05 09:32:14 -05:00
2026-09-28 22:20:24 -05:00
2026-10-19 04:48:10 -05:00
2026-10-08 01:21:43 -05:00
2026-10-17 18:44:30 -05:00
2026-10-03 07:40:13 -05:00
2026-10-18 13:51:44 -07:00
2026-09-23 00:13:44 -05:00
2026-07-22 18:08:04 -05:00
2026-09-28 08:12:06 -05:00
2026-09-30 17:53:59 -05:00
2026-10-19 04:48:10 -05:00
2026-10-18 22:10:17 -05:00
2026-09-27 11:41:52 -05:00
2026-10-18 15:58:57 -07:00
2026-07-22 18:08:04 -05:00
2026-10-13 18:55:55 -05:00
2026-10-11 16:30:25 -07:00
2026-10-11 16:30:24 -07:00
2026-10-12 02:33:29 -05:00
2026-10-17 12:08:06 -07:00
2026-10-17 12:08:06 -07:00
2026-10-11 11:17:17 -07:00
2026-10-11 11:17:17 -07:00
2026-10-11 16:30:24 -07:00
2026-10-11 12:24:27 -07:00
2026-10-17 12:08:06 -07:00
2026-10-11 16:30:23 -07:00
2026-10-12 09:38:24 -05:00
2026-09-20 14:44:19 -05:00
2026-10-17 22:45:32 -05:00
2026-10-19 00:47:00 -05:00
2026-08-08 23:17:58 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00
2026-07-23 00:37:25 -05:00
2026-07-22 18:08:04 -05:00
2026-07-23 17:27:25 -05:00
2026-09-20 15:59:34 -05:00
2026-10-01 17:36:29 -05:00
2026-10-09 10:30:31 -05:00
2026-09-23 00:38:45 -05:00
2026-09-23 00:38:45 -05:00
2026-09-23 00:38:45 -05:00
2026-09-23 00:38:45 -05:00
2026-07-24 09:37:57 -05:00
2026-07-22 18:08:04 -05:00
2026-10-18 07:07:37 -07:00
2026-10-18 22:10:17 -05:00
2026-10-14 17:18:04 -05:00
2026-10-15 18:26:31 -05:00
2026-09-13 23:34:17 -05:00
2026-10-01 17:36:29 -05:00
2026-07-22 18:08:04 -05:00
2026-08-17 10:34:43 -04:00
2026-08-14 10:27:38 -04:00
2026-08-14 10:27:38 -04:00
2026-08-14 10:27:38 -04:00
2026-09-19 21:49:21 -05:00
2026-07-22 18:08:04 -05:00
2026-09-27 23:33:40 -05:00
2026-10-17 18:36:45 -05:00
2026-07-23 16:55:31 -05:00
2026-10-17 18:36:45 -05:00
2026-10-07 11:47:54 -05:00
2026-07-22 18:08:04 -05:00
2026-09-23 10:21:53 -05:00
2026-10-05 09:32:14 -05:00
2026-07-22 18:08:04 -05:00
2026-09-02 18:18:09 -05:00
2026-10-04 01:03:02 -05:00
2026-10-04 01:03:02 -05:00
2026-10-04 01:03:02 -05:00
2026-09-02 18:18:09 -05:00
2026-07-22 18:08:04 -05:00
2026-10-08 07:35:21 -05:00
2026-10-08 01:21:43 -05:00
2026-10-15 19:59:56 -05:00
2026-09-14 13:46:36 -05:00
2026-09-28 19:01:50 -05:00
2026-07-23 20:30:47 -05:00
2026-10-08 11:04:59 -05:00
2026-07-22 18:08:04 -05:00
2026-10-18 18:34:09 -05:00
2026-10-17 15:47:37 -05:00
2026-10-18 17:17:22 -05:00
2026-10-18 08:32:52 -07:00
2026-10-18 12:05:25 -07:00
2026-10-18 08:32:52 -07:00
2026-08-08 11:35:01 -05:00
2026-10-02 13:26:27 -05:00
2026-10-18 15:58:57 -07:00
2026-10-18 15:58:57 -07:00
2026-07-24 11:38:39 -05:00
2026-07-22 18:08:04 -05:00
2026-07-23 17:20:03 -05:00
2026-10-16 20:55:26 -05:00
2026-10-17 20:55:17 -05:00
2026-07-23 21:27:19 -05:00
2026-09-14 18:15:44 -05:00
2026-07-23 01:05:22 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00
2026-10-03 20:16:24 -05:00
2026-10-17 17:48:42 -05:00
2026-10-09 07:49:53 -05:00
2026-09-12 22:39:07 -05:00
2026-10-15 22:53:40 -05:00
2026-07-24 11:14:58 -05:00
2026-09-18 22:50:45 -05:00
2026-09-18 22:50:45 -05:00
2026-10-18 14:40:40 -07:00
2026-09-14 00:38:06 -05:00
2026-10-13 19:12:53 -05:00
2026-07-24 11:14:58 -05:00
2026-10-18 03:37:40 -05:00
2026-10-18 07:07:44 -07:00
2026-10-18 03:37:40 -05:00
2026-09-28 22:20:24 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-12 12:25:30 -05:00
2026-10-19 04:48:10 -05:00
2026-10-09 00:23:28 -05:00
2026-10-09 22:05:36 -05:00
2026-07-22 18:08:04 -05:00
2026-10-05 09:32:14 -05:00
2026-10-18 05:31:40 -05:00
2026-10-18 11:47:04 -07:00
2026-09-19 00:00:26 -05:00
2026-10-09 10:33:07 -05:00
2026-07-22 18:08:04 -05:00
2026-07-23 02:42:10 -05:00
2026-10-13 19:12:53 -05:00
2026-09-29 20:58:04 -05:00
2026-10-18 17:57:35 -07:00
2026-10-17 03:28:15 -05:00
2026-10-01 17:36:29 -05:00
2026-08-09 23:15:51 -05:00
2026-10-18 04:11:02 -05:00
2026-08-08 11:35:01 -05:00
2026-09-28 19:48:46 -05:00
2026-07-23 00:40:54 -05:00
2026-09-28 23:49:13 -05:00
2026-09-12 22:39:07 -05:00
2026-10-09 00:23:28 -05:00
2026-10-04 01:57:10 -05:00
2026-10-04 01:57:10 -05:00
2026-10-04 01:57:10 -05:00
2026-10-18 05:40:08 -05:00
2026-10-18 15:19:38 -07:00
2026-10-18 09:52:17 -05:00