Fix skinning and babel tagets
This commit is contained in:
parent
dea919f6ee
commit
21405b8f25
3 changed files with 16 additions and 10 deletions
|
@ -20,6 +20,7 @@ class Skinner {
|
|||
}
|
||||
|
||||
getComponent(name) {
|
||||
if (!name) throw new Error(`Invalid component name: ${name}`);
|
||||
if (this.components === null) {
|
||||
throw new Error(
|
||||
"Attempted to get a component before a skin has been loaded."+
|
||||
|
@ -43,12 +44,6 @@ class Skinner {
|
|||
// Check the skin first
|
||||
let comp = doLookup(this.components);
|
||||
|
||||
// If that failed, check against our own components
|
||||
if (!comp) {
|
||||
// Lazily load our own components because they might end up calling .getComponent()
|
||||
comp = doLookup(require("./component-index").components);
|
||||
}
|
||||
|
||||
// Just return nothing instead of erroring - the consumer should be smart enough to
|
||||
// handle this at this point.
|
||||
if (!comp) {
|
||||
|
@ -75,6 +70,13 @@ class Skinner {
|
|||
const comp = skinObject.components[compKeys[i]];
|
||||
this.addComponent(compKeys[i], comp);
|
||||
}
|
||||
|
||||
// Now that we have a skin, load our components too
|
||||
const idx = require("./component-index");
|
||||
if (!idx || !idx.components) throw new Error("Invalid react-sdk component index");
|
||||
for (const c in idx.components) {
|
||||
if (!this.components[c]) this.components[c] = idx.components[c];
|
||||
}
|
||||
}
|
||||
|
||||
addComponent(name, comp) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue