Skip to content

Commit dba245f

Browse files
LarsDenBakkercoreyfarrell
authored andcommitted
fix: don't crash when a class has javascript mixins (#33)
Fixes #32
1 parent 2f04659 commit dba245f

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import * as elements from 'hyperhtml-element';
2+
3+
const myMixin = baseClass => class extends baseClass {
4+
5+
};
6+
7+
export class ele extends myMixin(elements.base) {
8+
render() {
9+
this.html`<div >test</div>`;
10+
this.nothtml`<div >test</div>`;
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import * as elements from 'hyperhtml-element';
2+
3+
const myMixin = baseClass => class extends baseClass {
4+
5+
};
6+
7+
export class ele extends myMixin(elements.base) {
8+
render() {
9+
this.html`<div >test</div>`;
10+
this.nothtml`<div >test</div>`;
11+
}
12+
}

lib/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ function handleMember(path, state) {
118118
handleSimple(path, state, cls.scope.getBinding(superClass.name),
119119
item => item.options.member === propName
120120
);
121-
} else {
121+
} else if (superClass.object && superClass.object.name) {
122122
handleStar(path, state, superClass.object.name,
123123
opt => opt.member === propName && superClass.property.name === opt.name && opt.type === 'member'
124124
);

test/test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ test('import member class of named export from non-matching module', fileTest, '
242242
test('import member class of unwanted named export', fileTest, 'import-hyperhtml-named', true, wrongHyperConfig);
243243

244244
test('import member class of star export', fileTest, 'import-hyperhtml-star', null, namedHyperConfig);
245+
test('import member class of star export with mixin', fileTest, 'import-hyperhtml-star-with-mixin', null, namedHyperConfig);
245246
test('import member class of star export from non-matching module', fileTest, 'import-hyperhtml-star', true, namedWrongMemberConfig);
246247

247248
test('ignore this outside class', fileTest, null, true);

0 commit comments

Comments
 (0)