Skip to content

Commit cfc85ce

Browse files
committed
Updated assertions
1 parent a3093b9 commit cfc85ce

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

Sources/JavaScriptKit/Utilities.swift renamed to Sources/JavaScriptKit/Assert.swift

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//
2-
// Utilities.swift
2+
// Assert.swift
33
//
44
//
55
// Created by Alsey Coleman Miller on 6/4/20.
@@ -24,3 +24,15 @@ internal func assert(_ condition: @autoclosure () -> Bool, _ message: @autoclosu
2424
internal func assert(_ condition: @autoclosure () -> JSBoolean, _ message: @autoclosure () -> String = "", file: StaticString = #file, line: UInt = #line) {
2525
assert(condition().rawValue, message(), file: file, line: line)
2626
}
27+
28+
internal extension Optional {
29+
30+
func assert(_ message: @autoclosure () -> String = "", file: StaticString = #file, line: UInt = #line) -> Wrapped {
31+
switch self {
32+
case .none:
33+
fatalError(message(), file: file, line: line)
34+
case let .some(value):
35+
return value
36+
}
37+
}
38+
}

Sources/JavaScriptKit/JS Types/JSBoolean.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@ extension JSBoolean: RawRepresentable {
3232
}
3333

3434
public var rawValue: Bool {
35-
guard let function = jsObject.valueOf.function
36-
else { fatalError("Invalid function \(#function)") }
37-
return function.apply(this: jsObject).boolean ?? false
35+
let function = jsObject.valueOf.function.assert("Invalid function \(#function)")
36+
return function.apply(this: jsObject).boolean.assert()
3837
}
3938
}
4039

0 commit comments

Comments
 (0)