Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions example/src/getTests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1957,6 +1957,22 @@ export function getTests(
.didNotThrow()
.equals('This is overridden!')
),
createTest('getNumber(...) works for number', () =>
it(() => {
const object = testObject.createInternalObject()
return object.getNumber(57)
})
.didNotThrow()
.equals({ number: 57 })
),
createTest('getNumber(...) works for undefined', () =>
it(() => {
const object = testObject.createInternalObject()
return object.getNumber()
})
.didNotThrow()
.equals({ number: undefined })
),
createTest('new T() works', () =>
it(() => {
const HybridTestObjectCpp =
Expand Down
11 changes: 10 additions & 1 deletion packages/nitrogen/src/syntax/swift/SwiftCxxBridgedType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,16 @@ export class SwiftCxxBridgedType implements BridgedType<'swift', 'c++'> {
// TODO: Remove this check for booleans once https://github.com/swiftlang/swift/issues/84848 is fixed.
const swiftBug84848Workaround =
optional.wrappingType.kind === 'boolean'
if (!wrapping.needsSpecialHandling && !swiftBug84848Workaround) {

// TODO: Remove this check for numbers once https://github.com/swiftlang/swift/issues/85735 is fixed.
const swiftBug85735Workaround =
optional.wrappingType.kind === 'number'

if (
!wrapping.needsSpecialHandling &&
!swiftBug84848Workaround &&
!swiftBug85735Workaround
) {
return `${cppParameterName}.value`
}
return `
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,8 @@ class HybridSomeExternalObject : HybridSomeExternalObjectSpec() {
override fun getValue(): String {
return "Hello world!"
}

override fun getNumber(number: Double?): SomeExternalObjectNumber {
return SomeExternalObjectNumber(number = number ?: null)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,15 @@ import Foundation
import NitroModules

class HybridSomeExternalObject: HybridSomeExternalObjectSpec {


func getValue() throws -> String {
return "Hello world!"
}

func getNumber(number: Double?) throws -> SomeExternalObjectNumber {
return SomeExternalObjectNumber(
number: number
)
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading