diff options
author | 2023-01-09 03:18:41 -0800 | |
---|---|---|
committer | 2023-01-09 03:18:41 -0800 | |
commit | 905a3313b5dfc491756b5295bcabe9fab92fbda9 (patch) | |
tree | d360b88f9f94349453901d2553c810197709c609 | |
parent | f0475e89c5065d91e58bcb3e512fa972fd7874e5 (diff) | |
download | bun-905a3313b5dfc491756b5295bcabe9fab92fbda9.tar.gz bun-905a3313b5dfc491756b5295bcabe9fab92fbda9.tar.zst bun-905a3313b5dfc491756b5295bcabe9fab92fbda9.zip |
check for isEmpty or !isCell
-rw-r--r-- | src/bun.js/base.zig | 3 | ||||
-rw-r--r-- | src/bun.js/bindings/ZigGeneratedClasses.cpp | 92 | ||||
-rw-r--r-- | src/bun.js/bindings/bindings.cpp | 2 | ||||
-rw-r--r-- | src/bun.js/scripts/generate-classes.ts | 4 |
4 files changed, 50 insertions, 51 deletions
diff --git a/src/bun.js/base.zig b/src/bun.js/base.zig index 8e1ce2d59..ecee2ff3d 100644 --- a/src/bun.js/base.zig +++ b/src/bun.js/base.zig @@ -2816,8 +2816,7 @@ pub fn wrapWithHasContainer( } var result: JSValue = @call(.auto, @field(Container, name), args); - if (result.isError()) { - exception.* = result.asObjectRef(); + if (exception.* != null) { iter.deinit(); return null; } diff --git a/src/bun.js/bindings/ZigGeneratedClasses.cpp b/src/bun.js/bindings/ZigGeneratedClasses.cpp index 4a3870173..d49dfef97 100644 --- a/src/bun.js/bindings/ZigGeneratedClasses.cpp +++ b/src/bun.js/bindings/ZigGeneratedClasses.cpp @@ -415,11 +415,11 @@ JSTCPSocket* JSTCPSocket::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, extern "C" void* TCPSocket__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSTCPSocket* object = JSC::jsDynamicCast<JSTCPSocket*>(decodedValue.asCell()); + JSTCPSocket* object = JSC::jsDynamicCast<JSTCPSocket*>(cell); if (!object) return nullptr; @@ -887,11 +887,11 @@ JSTLSSocket* JSTLSSocket::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, extern "C" void* TLSSocket__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSTLSSocket* object = JSC::jsDynamicCast<JSTLSSocket*>(decodedValue.asCell()); + JSTLSSocket* object = JSC::jsDynamicCast<JSTLSSocket*>(cell); if (!object) return nullptr; @@ -1257,11 +1257,11 @@ JSListener* JSListener::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, J extern "C" void* Listener__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSListener* object = JSC::jsDynamicCast<JSListener*>(decodedValue.asCell()); + JSListener* object = JSC::jsDynamicCast<JSListener*>(cell); if (!object) return nullptr; @@ -1751,11 +1751,11 @@ JSSubprocess* JSSubprocess::create(JSC::VM& vm, JSC::JSGlobalObject* globalObjec extern "C" void* Subprocess__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSubprocess* object = JSC::jsDynamicCast<JSSubprocess*>(decodedValue.asCell()); + JSSubprocess* object = JSC::jsDynamicCast<JSSubprocess*>(cell); if (!object) return nullptr; @@ -2090,11 +2090,11 @@ JSSHA1* JSSHA1::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Stru extern "C" void* SHA1__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSHA1* object = JSC::jsDynamicCast<JSSHA1*>(decodedValue.asCell()); + JSSHA1* object = JSC::jsDynamicCast<JSSHA1*>(cell); if (!object) return nullptr; @@ -2395,11 +2395,11 @@ JSMD5* JSMD5::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Struct extern "C" void* MD5__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSMD5* object = JSC::jsDynamicCast<JSMD5*>(decodedValue.asCell()); + JSMD5* object = JSC::jsDynamicCast<JSMD5*>(cell); if (!object) return nullptr; @@ -2700,11 +2700,11 @@ JSMD4* JSMD4::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Struct extern "C" void* MD4__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSMD4* object = JSC::jsDynamicCast<JSMD4*>(decodedValue.asCell()); + JSMD4* object = JSC::jsDynamicCast<JSMD4*>(cell); if (!object) return nullptr; @@ -3005,11 +3005,11 @@ JSSHA224* JSSHA224::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC:: extern "C" void* SHA224__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSHA224* object = JSC::jsDynamicCast<JSSHA224*>(decodedValue.asCell()); + JSSHA224* object = JSC::jsDynamicCast<JSSHA224*>(cell); if (!object) return nullptr; @@ -3310,11 +3310,11 @@ JSSHA512* JSSHA512::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC:: extern "C" void* SHA512__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSHA512* object = JSC::jsDynamicCast<JSSHA512*>(decodedValue.asCell()); + JSSHA512* object = JSC::jsDynamicCast<JSSHA512*>(cell); if (!object) return nullptr; @@ -3615,11 +3615,11 @@ JSSHA384* JSSHA384::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC:: extern "C" void* SHA384__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSHA384* object = JSC::jsDynamicCast<JSSHA384*>(decodedValue.asCell()); + JSSHA384* object = JSC::jsDynamicCast<JSSHA384*>(cell); if (!object) return nullptr; @@ -3920,11 +3920,11 @@ JSSHA256* JSSHA256::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC:: extern "C" void* SHA256__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSHA256* object = JSC::jsDynamicCast<JSSHA256*>(decodedValue.asCell()); + JSSHA256* object = JSC::jsDynamicCast<JSSHA256*>(cell); if (!object) return nullptr; @@ -4225,11 +4225,11 @@ JSSHA512_256* JSSHA512_256::create(JSC::VM& vm, JSC::JSGlobalObject* globalObjec extern "C" void* SHA512_256__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSSHA512_256* object = JSC::jsDynamicCast<JSSHA512_256*>(decodedValue.asCell()); + JSSHA512_256* object = JSC::jsDynamicCast<JSSHA512_256*>(cell); if (!object) return nullptr; @@ -4565,11 +4565,11 @@ JSCryptoHasher* JSCryptoHasher::create(JSC::VM& vm, JSC::JSGlobalObject* globalO extern "C" void* CryptoHasher__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSCryptoHasher* object = JSC::jsDynamicCast<JSCryptoHasher*>(decodedValue.asCell()); + JSCryptoHasher* object = JSC::jsDynamicCast<JSCryptoHasher*>(cell); if (!object) return nullptr; @@ -5284,11 +5284,11 @@ JSServerWebSocket* JSServerWebSocket::create(JSC::VM& vm, JSC::JSGlobalObject* g extern "C" void* ServerWebSocket__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSServerWebSocket* object = JSC::jsDynamicCast<JSServerWebSocket*>(decodedValue.asCell()); + JSServerWebSocket* object = JSC::jsDynamicCast<JSServerWebSocket*>(cell); if (!object) return nullptr; @@ -5706,11 +5706,11 @@ JSFileSystemRouter* JSFileSystemRouter::create(JSC::VM& vm, JSC::JSGlobalObject* extern "C" void* FileSystemRouter__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSFileSystemRouter* object = JSC::jsDynamicCast<JSFileSystemRouter*>(decodedValue.asCell()); + JSFileSystemRouter* object = JSC::jsDynamicCast<JSFileSystemRouter*>(cell); if (!object) return nullptr; @@ -6166,11 +6166,11 @@ JSMatchedRoute* JSMatchedRoute::create(JSC::VM& vm, JSC::JSGlobalObject* globalO extern "C" void* MatchedRoute__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSMatchedRoute* object = JSC::jsDynamicCast<JSMatchedRoute*>(decodedValue.asCell()); + JSMatchedRoute* object = JSC::jsDynamicCast<JSMatchedRoute*>(cell); if (!object) return nullptr; @@ -7233,11 +7233,11 @@ JSExpect* JSExpect::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC:: extern "C" void* Expect__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSExpect* object = JSC::jsDynamicCast<JSExpect*>(decodedValue.asCell()); + JSExpect* object = JSC::jsDynamicCast<JSExpect*>(cell); if (!object) return nullptr; @@ -7598,11 +7598,11 @@ JSTextDecoder* JSTextDecoder::create(JSC::VM& vm, JSC::JSGlobalObject* globalObj extern "C" void* TextDecoder__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSTextDecoder* object = JSC::jsDynamicCast<JSTextDecoder*>(decodedValue.asCell()); + JSTextDecoder* object = JSC::jsDynamicCast<JSTextDecoder*>(cell); if (!object) return nullptr; @@ -8241,11 +8241,11 @@ JSRequest* JSRequest::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC extern "C" void* Request__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSRequest* object = JSC::jsDynamicCast<JSRequest*>(decodedValue.asCell()); + JSRequest* object = JSC::jsDynamicCast<JSRequest*>(cell); if (!object) return nullptr; @@ -8855,11 +8855,11 @@ JSResponse* JSResponse::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, J extern "C" void* Response__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSResponse* object = JSC::jsDynamicCast<JSResponse*>(decodedValue.asCell()); + JSResponse* object = JSC::jsDynamicCast<JSResponse*>(cell); if (!object) return nullptr; @@ -9305,11 +9305,11 @@ JSBlob* JSBlob::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Stru extern "C" void* Blob__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSBlob* object = JSC::jsDynamicCast<JSBlob*>(decodedValue.asCell()); + JSBlob* object = JSC::jsDynamicCast<JSBlob*>(cell); if (!object) return nullptr; @@ -9721,11 +9721,11 @@ JSDirent* JSDirent::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC:: extern "C" void* Dirent__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSDirent* object = JSC::jsDynamicCast<JSDirent*>(decodedValue.asCell()); + JSDirent* object = JSC::jsDynamicCast<JSDirent*>(cell); if (!object) return nullptr; @@ -11609,11 +11609,11 @@ JSNodeJSFS* JSNodeJSFS::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, J extern "C" void* NodeJSFS__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); - JSNodeJSFS* object = JSC::jsDynamicCast<JSNodeJSFS*>(decodedValue.asCell()); + JSNodeJSFS* object = JSC::jsDynamicCast<JSNodeJSFS*>(cell); if (!object) return nullptr; diff --git a/src/bun.js/bindings/bindings.cpp b/src/bun.js/bindings/bindings.cpp index 74ac79501..ec71c7108 100644 --- a/src/bun.js/bindings/bindings.cpp +++ b/src/bun.js/bindings/bindings.cpp @@ -3185,7 +3185,7 @@ void JSC__JSValue__getNameProperty(JSC__JSValue JSValue0, JSC__JSGlobalObject* a JSC__JSValue JSC__JSValue__toError_(JSC__JSValue JSValue0) { JSC::JSValue value = JSC::JSValue::decode(JSValue0); - if (!value.isCell()) + if (value.isEmpty() || !value.isCell()) return JSC::JSValue::encode({}); JSC::JSCell* cell = value.asCell(); diff --git a/src/bun.js/scripts/generate-classes.ts b/src/bun.js/scripts/generate-classes.ts index d5c6bee07..1a41bc146 100644 --- a/src/bun.js/scripts/generate-classes.ts +++ b/src/bun.js/scripts/generate-classes.ts @@ -1146,13 +1146,13 @@ ${name}* ${name}::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::St extern "C" void* ${typeName}__fromJS(JSC::EncodedJSValue value) { JSC::JSValue decodedValue = JSC::JSValue::decode(value); - if (!decodedValue.isCell()) + if (decodedValue.isEmpty() || !decodedValue.isCell()) return nullptr; JSC::JSCell* cell = decodedValue.asCell(); ${className(typeName)}* object = JSC::jsDynamicCast<${className( typeName, - )}*>(decodedValue.asCell()); + )}*>(cell); if (!object) return nullptr; |