Chris Tate
dd927301fc
Read builtins into untyped TypeScript slots as Node's values
...
In a TypeScript source, a builtin global used as an object literal member
(`const o: any = { j: JSON }`) failed to lower, and the member silently
became a closure that threw when called. Node reads the global itself, so
`typeof o.j` answered "function" instead of "object", two reads were never
equal, and `o.j.stringify(x)` threw "is not a function". There was no
diagnostic.
A builtin read into a slot the checker types as any or unknown now holds
the value a JavaScript source reads: the JSON, Math and Reflect namespace
objects, Buffer, and functions such as structuredClone, atob and
queueMicrotask. This covers object and array
literal members, arguments, initializers and return values. A member of a
literal whose own slot is any takes the literal's slot. Array, setTimeout
and setImmediate keep their refusal: their values lack Array's statics and
the timers' util.promisify.custom getter.
Object literal members of TypeScript sources no longer defer a failed
lowering to a runtime closure. A builtin with no value (Intl, Proxy,
parseInt, process, a typed slot) reports SC2020 at compile time.
util.inspect now prints a plain object's Symbol.toStringTag as Node does:
`Object [Math] {}`, `[Object [Y]]` past the depth limit, and
`[Object: null prototype] [N] {}`. The tag is read through the prototype
chain and getters, and it is skipped when it is empty, not a string, the
name "Object", listed as an own enumerable key, or its getter throws.
2026-10-29 07:57:38 -05:00
..
2026-07-22 18:08:04 -05:00
2026-10-20 17:56:44 -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-18 17:30:54 -07:00
2026-07-22 18:08:04 -05:00
2026-08-08 11:35:01 -05:00
2026-10-20 18:40:37 -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-10-20 17:56:44 -05:00
2026-10-22 04:27:35 -05:00
2026-10-22 04:27:35 -05:00
2026-10-22 04:27:35 -05:00
2026-10-22 18:49:52 -07: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-10-23 17:15:33 -05:00
2026-10-23 19:05:58 -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-23 15:13:03 -05:00
2026-10-01 17:36:29 -05:00
2026-10-22 10:09:08 -05:00
2026-10-23 23:31:58 -05:00
2026-10-25 13:26:27 -05:00
2026-10-20 17:56:44 -05:00
2026-10-15 22:01:38 -05:00
2026-10-24 08:07:52 -05:00
2026-09-15 00:03:07 -05:00
2026-10-28 17:58:01 -07:00
2026-09-28 22:20:24 -05:00
2026-10-20 17:56:44 -05:00
2026-10-20 17:56:44 -05:00
2026-10-19 04:48:10 -05:00
2026-10-20 17:56:44 -05:00
2026-10-29 07:57:38 -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-20 17:56:44 -05:00
2026-10-22 20:33:33 -05:00
2026-07-22 18:08:04 -05:00
2026-10-20 17:56:44 -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-19 07:55:06 -05:00
2026-09-27 11:41:52 -05:00
2026-10-22 20:33:09 -05:00
2026-10-20 17:56:44 -05:00
2026-10-13 18:55:55 -05:00
2026-10-18 14:42:18 -07:00
2026-10-18 14:42:18 -07: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-23 09:25:07 -05:00
2026-10-24 17:35:51 -05: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-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-10-28 05:37:58 -07:00
2026-09-20 15:59:34 -05:00
2026-10-01 17:36:29 -05:00
2026-10-18 15:55:12 -07: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-22 06:52:18 -05:00
2026-10-18 07:07:37 -07:00
2026-10-20 12:55:55 -05:00
2026-10-20 12:55:55 -05:00
2026-10-20 12:55:55 -05:00
2026-10-19 07:55:06 -05:00
2026-10-14 17:18:04 -05:00
2026-10-20 17:56:44 -05:00
2026-09-13 23:34:17 -05:00
2026-10-01 17:36:29 -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-10-20 18:11:57 -05:00
2026-10-23 16:27:40 -05:00
2026-07-22 18:08:04 -05:00
2026-10-22 18:17:48 -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-22 02:56:39 -05:00
2026-10-07 11:47:54 -05:00
2026-10-23 16:23:37 -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-23 12:54:17 -05:00
2026-10-20 17:56:44 -05:00
2026-10-20 17:56:44 -05:00
2026-10-20 17:56:44 -05:00
2026-10-08 01:21:43 -05:00
2026-10-23 00:54:10 -05:00
2026-10-15 19:59:56 -05:00
2026-09-14 13:46:36 -05:00
2026-10-24 12:01:26 -05:00
2026-07-23 20:30:47 -05:00
2026-10-22 16:00:41 -07:00
2026-10-22 19:54:17 -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-22 06:44:59 -05:00
2026-10-20 17:56:44 -05: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-28 13:17:05 -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-20 17:56:44 -05:00
2026-10-17 20:55:17 -05:00
2026-10-20 17:56:44 -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-10-19 20:55:04 -07:00
2026-07-22 18:08:04 -05:00
2026-10-22 21:47:37 -05:00
2026-10-22 17:43:09 -07:00
2026-10-22 17:43:09 -07:00
2026-10-22 21:18:48 -05:00
2026-10-22 17:43:09 -07:00
2026-10-03 20:16:24 -05:00
2026-10-23 18:11:49 -05:00
2026-10-09 07:49:53 -05:00
2026-10-20 17:56:44 -05:00
2026-10-20 17:56:44 -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-10-18 14:40:40 -07:00
2026-10-20 12:25:57 -05:00
2026-09-14 00:38:06 -05:00
2026-10-20 17:56:44 -05:00
2026-10-26 01:50:59 -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-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-07-22 18:08:04 -05:00
2026-07-23 02:42:10 -05:00
2026-10-28 08:56:20 -05:00
2026-10-28 17:58:04 -07:00
2026-10-28 19:18:01 -05:00
2026-10-22 08:35:56 -05:00
2026-10-20 17:56:44 -05:00
2026-10-23 07:50:09 -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-20 17:56:44 -05:00
2026-10-21 21:56:08 -05:00
2026-10-22 04:52:44 -05:00
2026-08-08 11:35:01 -05:00
2026-10-28 14:57:21 -05:00
2026-10-21 02:28:56 -05:00
2026-07-23 00:40:54 -05:00
2026-09-28 23:49:13 -05:00
2026-10-28 17:58:00 -07:00
2026-10-23 17:34:59 -05:00
2026-10-28 17:58:04 -07:00
2026-10-09 00:23:28 -05:00
2026-10-26 01:50:59 -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-22 20:33:09 -05:00
2026-10-20 17:56:44 -05:00
2026-10-20 17:56:44 -05:00
2026-10-22 03:33:29 -05:00
2026-10-23 18:01:19 -05:00
2026-10-18 09:52:17 -05:00