8000 feat(logging): log node creation errors (#625) · iuriimattos2/nativescript-vue@b502fc8 · GitHub
[go: up one dir, main page]

Skip to content

Commit b502fc8

Browse files
authored
feat(logging): log node creation errors (nativescript-vue#625)
* fix: log node creation errors * fix: show error stack * fix: throw error if viewClass not found
1 parent 9ce38a0 commit b502fc8

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

platform/nativescript/element-registry.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ export function getViewClass(elementName) {
6464
try {
6565
return entry.resolver()
6666
} catch (e) {
67-
throw new TypeError(`Could not load view for: ${elementName}. ${e}`)
67+
throw new TypeError(
68+
`Could not load view for: ${elementName}. ${e} ${e.stack}`
69+
)
6870
}
6971
}
7072

platform/nativescript/renderer/DocumentNode.js

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,34 @@ export default class DocumentNode extends ViewNode {
1818
}
1919

2020
static createComment(text) {
21-
return new CommentNode(text)
21+
try {
22+
return new CommentNode(text)
23+
} catch (err) {
24+
console.log(err)
25+
}
2226
}
2327

2428
static createElement(tagName) {
25-
return new ElementNode(tagName)
29+
try {
30+
return new ElementNode(tagName)
31+
} catch 8000 (err) {
32+
console.log(err)
33+
}
2634
}
2735

2836
static createElementNS(namespace, tagName) {
29-
return new ElementNode(namespace + ':' + tagName)
37+
try {
38+
return new ElementNode(namespace + ':' + tagName)
39+
} catch (err) {
40+
console.log(err)
41+
}
3042
}
3143

3244
static createTextNode(text) {
33-
return new TextNode(text)
45+
try {
46+
return new TextNode(text)
47+
} catch (err) {
48+
console.log(err)
49+
}
3450
}
3551
}

platform/nativescript/renderer/ElementNode.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ export default class ElementNode extends ViewNode {
1111
this.tagName = tagName
1212

1313
const viewClass = getViewClass(tagName)
14+
if (!viewClass) {
15+
throw new TypeError(
16+
`No native component for element tag name ${tagName}.`
17+
)
18+
}
1419
this._nativeView = new viewClass()
1520
this._nativeView[VUE_ELEMENT_REF] = this
1621
}

0 commit comments

Comments
 (0)
0