move helper templates to a separate namespace

This commit is contained in:
Sebastian McKenzie 2015-03-23 17:26:54 +11:00
parent 972c621f59
commit 1376f2f18f
29 changed files with 43 additions and 41 deletions

View File

@ -58,7 +58,6 @@ export default class File {
"defaults", "defaults",
"create-class", "create-class",
"create-decorated-class", "create-decorated-class",
"apply-constructor",
"tagged-template-literal", "tagged-template-literal",
"tagged-template-literal-loose", "tagged-template-literal-loose",
"interop-require", "interop-require",
@ -324,7 +323,7 @@ export default class File {
var id = t.identifier(t.toIdentifier(name)); var id = t.identifier(t.toIdentifier(name));
return t.memberExpression(runtime, id); return t.memberExpression(runtime, id);
} else { } else {
var ref = util.template(name); var ref = util.template("helper-" + name);
ref._compact = true; ref._compact = true;
var uid = this.scope.generateUidIdentifier(name); var uid = this.scope.generateUidIdentifier(name);
this.scope.push({ this.scope.push({

View File

@ -1,5 +0,0 @@
(function (Constructor, args) {
var instance = Object.create(Constructor.prototype);
var result = Constructor.apply(instance, args);
return result != null && (typeof result == "object" || typeof result == "function") ? result : instance;
});

View File

@ -1,30 +0,0 @@
(function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i ++) {
var descriptor = props[i];
descriptor.enumerable = false;
descriptor.configurable = true;
if (descriptor.value) descriptor.writable = true;
if (descriptor.decorators) {
for (var i = 0; i < descriptor.decorators.length; i++) {
var decorator = descriptor.decorators[i];
if (typeof decorator === "function") {
descriptor = decorator(target, descriptor.key, descriptor) || descriptor;
} else {
throw new TypeError("The decorator for method " + descriptor.key + " is of the invalid type " + typeof decorator);
}
}
}
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
})()

View File

@ -1,10 +1,11 @@
(function() { (function() {
function defineProperties(target, props) { function defineProperties(target, props) {
for (var i = 0; i < props.length; i ++) { for (var i = 0; i < props.length; i ++) {
var prop = props[i]; var descriptor = props[i];
prop.configurable = true; descriptor.enumerable = descriptor.enumerable || false;
if (prop.value) prop.writable = true; descriptor.configurable = true;
Object.defineProperty(target, prop.key, prop); if (descriptor.value) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
} }
} }

View File

@ -0,0 +1,37 @@
(function() {
function defineProperties(target, descriptors) {
for (var i = 0; i < descriptors.length; i ++) {
var descriptor = descriptors[i];
var decorators = descriptor.decorators;
var key = descriptor.key;
// don't want to expose these to userland since i know people will rely on them
// and think it's spec behaviour
delete descriptor.key;
delete descriptor.decorators;
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor || descriptor.initializer) descriptor.writable = true;
if (decorators) {
for (var f = 0; f < decorators.length; f++) {
var decorator = decorators[f];
if (typeof decorator === "function") {
descriptor = decorator(target, key, descriptor) || descriptor;
} else {
throw new TypeError("The decorator for method " + descriptor.key + " is of the invalid type " + typeof decorator);
}
}
}
Object.defineProperty(target, key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
})()