Skip to content

Commit

Permalink
glimmer-wrapper resolver to take targetNamespace
Browse files Browse the repository at this point in the history
 - replaces `rawString`
  • Loading branch information
iezer committed Jan 24, 2018
1 parent 299f90e commit 50036c2
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 25 deletions.
4 changes: 2 additions & 2 deletions mu-trees/addon/resolvers/fallback/index.js
Expand Up @@ -9,8 +9,8 @@ export default Resolver.extend({
namespace: { modulePrefix: this.config.app.name }
}, options));
},
resolve(name, referrer, rawString) {
let result = this._super(name, referrer, rawString);
resolve(name, referrer, targetNamespace) {
let result = this._super(name, referrer, targetNamespace);
return result || this._fallback.resolve(name);
}
});
31 changes: 8 additions & 23 deletions mu-trees/addon/resolvers/glimmer-wrapper/index.js
Expand Up @@ -30,21 +30,10 @@ const Resolver = DefaultResolver.extend({

normalize: null,

resolve(lookupString, referrer, rawString) {
/*
* Ember namespaces are part of the raw invocation passed as a third
* argument, for example other-addon::some-service
*/
let rootName = this._configRootName;
let rawStringName = null;
if (rawString) {
let [namespace, name] = rawString.split('::');
rootName = namespace;
rawStringName = name;
}
resolve(lookupString, referrer, targetNamespace) {
let rootName = targetNamespace ||this._configRootName;

let [type, lookupStringName] = lookupString.split(':');
let name = lookupStringName;
let [type, name] = lookupString.split(':');

/*
* Ember components require their lookupString to be massaged. Make this
Expand All @@ -55,18 +44,14 @@ const Resolver = DefaultResolver.extend({
let parts = referrer.split(':src/ui/');
referrer = `${parts[0]}:/${rootName}/${parts[1]}`;
referrer = referrer.split('/template.hbs')[0];
} else if (rawString) {
} else if (targetNamespace) {
// This is only required because:
// https://github.com/glimmerjs/glimmer-di/issues/45
referrer = `${type}:/${rootName}/`;
}

/* If there is no name, fallback to the name passed in the rawString */
if (!name) {
name = rawStringName;
}
if (name) {
if (type === 'component' && rawString && name) {
if (type === 'component' && name) {
lookupString = `${type}:${name}`;
} else if (type === 'service') {
/* Services may be camelCased */
Expand All @@ -78,9 +63,9 @@ const Resolver = DefaultResolver.extend({
/* Controllers may have.dot.paths */
lookupString = `controller:${slasherize(name)}`;
} else if (type === 'template') {
if (lookupStringName && lookupStringName.indexOf('components/') === 0) {
let sliced = lookupStringName.slice(11);
lookupString = `template:${sliced.length ? sliced : rawStringName}`;
if (name && name.indexOf('components/') === 0) {
let sliced = name.slice(11);
lookupString = `template:${sliced}`;
} else {
/*
* Ember partials are looked up as templates. Here we replace the template
Expand Down

0 comments on commit 50036c2

Please sign in to comment.