aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-07 00:50:49 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-07 00:50:49 -0800
commit179cd18f70751e2d3959ec95def0f5ea697dd781 (patch)
treeda30c547d2e090dbd42d5c259ce0c64ca8209edb /src
parent072cd5a7457c44f37786df4d6dc57e4c5caa1bae (diff)
downloadbun-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.zig53
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,