diff options
author | 2023-01-08 03:49:49 -0600 | |
---|---|---|
committer | 2023-01-08 01:49:49 -0800 | |
commit | 94409770dece8bb9dfc23f4bdc2f240836035d87 (patch) | |
tree | 4cc627eb67c476871e84141a6c7a583e29e98309 /src/bun.js/module_loader.zig | |
parent | c505f172b84f5359aa186513f3ef7d6394bfc7b2 (diff) | |
download | bun-94409770dece8bb9dfc23f4bdc2f240836035d87.tar.gz bun-94409770dece8bb9dfc23f4bdc2f240836035d87.tar.zst bun-94409770dece8bb9dfc23f4bdc2f240836035d87.zip |
feat(node:readline): add node:readline and node:readline/promises (#1738)
* feat(readline): WIP: add readline
* test(helpers): add deepStrictEqual helper
* feat(readline): add readline & readline/promises to loader
* fix(node:events): emit newListener on new listener added
* feat(readline): finish readline cb interface, add tests
* fix(stream): fix Transform.end()
* fix(node-test-helpers): correct throws behavior, improve how all asserts work
* feat(readline/promises): add readline/promises
* feat(assert): add assert.match
* test(readline): uncomment more tests
* fix(readline): MaxCeil -> MathCeil 🤦
* fix(readline): export promises from node:readline
* fix(readline): temp fix for circular dependency
* cleanup(readline): remove console.log
* fix(readline): change true -> 0 for CommonJS export
* perf(readline): micro-optimizations with some getters
* perf(readline): lazy load isWritable
* cleanup(readline): rename debug flag env var to BUN_JS_DEBUG
Diffstat (limited to 'src/bun.js/module_loader.zig')
-rw-r--r-- | src/bun.js/module_loader.zig | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/bun.js/module_loader.zig b/src/bun.js/module_loader.zig index 6432fb7ca..46b7d0c09 100644 --- a/src/bun.js/module_loader.zig +++ b/src/bun.js/module_loader.zig @@ -1710,6 +1710,24 @@ pub const ModuleLoader = struct { .hash = 0, }; }, + .@"node:readline" => { + return ResolvedSource{ + .allocator = null, + .source_code = ZigString.init(jsModuleFromFile(jsc_vm.load_builtins_from_path, "readline.exports.js")), + .specifier = ZigString.init("node:readline"), + .source_url = ZigString.init("node:readline"), + .hash = 0, + }; + }, + .@"node:readline/promises" => { + return ResolvedSource{ + .allocator = null, + .source_code = ZigString.init(jsModuleFromFile(jsc_vm.load_builtins_from_path, "readline_promises.exports.js")), + .specifier = ZigString.init("node:readline/promises"), + .source_url = ZigString.init("node:readline/promises"), + .hash = 0, + }; + }, .@"bun:ffi" => { return ResolvedSource{ .allocator = null, @@ -2016,6 +2034,8 @@ pub const HardcodedModule = enum { @"node:path/win32", @"node:perf_hooks", @"node:process", + @"node:readline", + @"node:readline/promises", @"node:stream", @"node:stream/consumers", @"node:stream/web", @@ -2061,6 +2081,8 @@ pub const HardcodedModule = enum { .{ "node:path/win32", HardcodedModule.@"node:path/win32" }, .{ "node:perf_hooks", HardcodedModule.@"node:perf_hooks" }, .{ "node:process", HardcodedModule.@"node:process" }, + .{ "node:readline", HardcodedModule.@"node:readline" }, + .{ "node:readline/promises", HardcodedModule.@"node:readline/promises" }, .{ "node:stream", HardcodedModule.@"node:stream" }, .{ "node:stream/consumers", HardcodedModule.@"node:stream/consumers" }, .{ "node:stream/web", HardcodedModule.@"node:stream/web" }, @@ -2119,6 +2141,8 @@ pub const HardcodedModule = enum { .{ "node:path/win32", "node:path/win32" }, .{ "node:perf_hooks", "node:perf_hooks" }, .{ "node:process", "node:process" }, + .{ "node:readline", "node:readline" }, + .{ "node:readline/promises", "node:readline/promises" }, .{ "node:stream", "node:stream" }, .{ "node:stream/consumers", "node:stream/consumers" }, .{ "node:stream/web", "node:stream/web" }, @@ -2138,6 +2162,8 @@ pub const HardcodedModule = enum { .{ "readable-stream", "node:stream" }, .{ "readable-stream/consumer", "node:stream/consumers" }, .{ "readable-stream/web", "node:stream/web" }, + .{ "readline", "node:readline" }, + .{ "readline/promises", "node:readline/promises" }, .{ "stream", "node:stream" }, .{ "stream/consumers", "node:stream/consumers" }, .{ "stream/web", "node:stream/web" }, |