FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
JavaScriptCoreBrowserObjectModel/Source/JSError.swift at master · Envative-OSS/JavaScriptCoreBrowserObjectModel · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
Envative-OSS
/
JavaScriptCoreBrowserObjectModel
Public
forked from
itsjustcon/JavaScriptCoreBrowserObjectModel
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
JavaScriptCoreBrowserObjectModel
/
Source
/
JSError.swift
Copy path
More file actions
More file actions
Latest commit
History
History
History
75 lines (58 loc) · 2.13 KB
Breadcrumbs
JavaScriptCoreBrowserObjectModel
/
Source
/
JSError.swift
Copy path
File metadata and controls
75 lines (58 loc) · 2.13 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//
// JSError.swift
// JavaScriptCoreBrowserObjectModel
//
// Created by Connor Grady on 1/22/18.
// Copyright © 2018 Connor Grady. All rights reserved.
//
import
Foundation
import
JavaScriptCore
// SPEC: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
@
objc
public
protocol
ErrorJSProtocol
:
JSExport
{
var
name
:
String
?
{
get
set
}
var
message
:
String
?
{
get
set
}
var
stack
:
[
JSValue
]
{
get
}
var
fileName
:
String
?
{
get
}
var
lineNumber
:
Int
{
get
}
var
columnNumber
:
Int
{
get
}
//
//init(_ message: String?, _ fileName: String?, lineNumber: Int?)
init
(
_ message
:
String
?
,
_ fileName
:
String
?
,
lineNumber
:
JSValue
?
)
func
toSource
(
)
->
String
func
toString
(
)
->
String
}
@
objc
public
class
JSError
:
NSObject
,
ErrorJSProtocol
{
public
var
name
:
String
?
public
var
message
:
String
?
public
var
stack
:
[
JSValue
]
=
[
JSValue
]
(
)
public
var
fileName
:
String
?
public
var
lineNumber
:
Int
=
0
public
var
columnNumber
:
Int
=
0
public
required
init
(
_ message
:
String
?
,
_ fileName
:
String
?
,
lineNumber
:
JSValue
?
)
{
self
.
message
=
message
self
.
fileName
=
fileName
if
let
lineNumber
=
lineNumber
,
lineNumber
.
isNumber
{
self
.
lineNumber
=
Int
(
lineNumber
.
toUInt32
(
)
)
}
}
public
func
toSource
(
)
->
String
{
return
"
"
}
public
func
toString
(
)
->
String
{
return
"
"
}
}
public
extension
JSValue
{
var
isError
:
Bool
{
guard
isObject
else
{
return
false
}
if
isInstance
(
of
:
JSError
.
self
)
{
return
true
}
let
JSNativeError
=
context
.
objectForKeyedSubscript
(
"
Error
"
)
!
guard
JSNativeError
.
isObject
else
{
return
false
}
//var jsException: JSValueRef? = nil
//return JSValueIsInstanceOfConstructor(context.jsGlobalContextRef, jsValueRef, JSNativeError.jsValueRef, &jsException)
return
JSValueIsInstanceOfConstructor
(
context
.
jsGlobalContextRef
,
jsValueRef
,
JSNativeError
.
jsValueRef
,
nil
)
}
func
toError
(
)
->
JSError
{
return
toObjectOf
(
JSError
.
self
)
as!
JSError
}
}
Back
|
FazBrowse Home
|
New Git URL