diff options
author | 2022-11-07 00:50:49 -0800 | |
---|---|---|
committer | 2022-11-07 00:50:49 -0800 | |
commit | 179cd18f70751e2d3959ec95def0f5ea697dd781 (patch) | |
tree | da30c547d2e090dbd42d5c259ce0c64ca8209edb /src | |
parent | 072cd5a7457c44f37786df4d6dc57e4c5caa1bae (diff) | |
download | bun-179cd18f70751e2d3959ec95def0f5ea697dd781.tar.gz bun-179cd18f70751e2d3959ec95def0f5ea697dd781.tar.zst bun-179cd18f70751e2d3959ec95def0f5ea697dd781.zip |
Handle types which do not support getting an object
Diffstat (limited to 'src')
-rw-r--r-- | src/bun.js/bindings/bindings.zig | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig index b4bf44895..76bb1011a 100644 --- a/src/bun.js/bindings/bindings.zig +++ b/src/bun.js/bindings/bindings.zig @@ -207,7 +207,7 @@ pub const ZigString = extern struct { return .{ .ptr = input.ptr, .len = @truncate(u32, input.len), - .allocator = NullableAllocator.init(bun.default_allocator), + .allocator = .{}, }; } @@ -2600,6 +2600,57 @@ pub const JSValue = enum(JSValueReprInt) { Blob = 0b11111100, _, + pub fn canGet(this: JSType) bool { + return switch (this) { + .Array, + .ArrayBuffer, + .BigInt64Array, + .BigUint64Array, + .BooleanObject, + .DOMWrapper, + .DataView, + .DerivedArray, + .DerivedStringObject, + .ErrorInstance, + .Event, + .FinalObject, + .Float32Array, + .Float64Array, + .GlobalObject, + .Int16Array, + .Int32Array, + .Int8Array, + .InternalFunction, + .JSArrayIterator, + .JSAsyncGenerator, + .JSDate, + .JSFunction, + .JSGenerator, + .JSMap, + .JSMapIterator, + .JSPromise, + .JSSet, + .JSSetIterator, + .JSStringIterator, + .JSWeakMap, + .JSWeakSet, + .ModuleNamespaceObject, + .NumberObject, + .Object, + .ProxyObject, + .RegExpObject, + .ShadowRealm, + .StringObject, + .Uint16Array, + .Uint32Array, + .Uint8Array, + .Uint8ClampedArray, + .WebAssemblyModule, + => true, + else => false, + }; + } + pub fn isObject(this: JSType) bool { return switch (this) { .Object, .FinalObject => true, |