Rename build constructor to ctor

https://fedorahosted.org/freeipa/ticket/3235
This commit is contained in:
Petr Vobornik
2013-04-11 12:59:49 +02:00
parent 45b70425fc
commit a432cc4d28
4 changed files with 33 additions and 31 deletions

View File

@@ -46,7 +46,7 @@ define(['dojo/_base/declare',
factory: null,
constructor: null,
ctor: null,
post_ops: [],
@@ -60,12 +60,12 @@ define(['dojo/_base/declare',
* @param {Object} overrides
*
* String: type name, queries registry
* Function: factory or constructor
* Function: factory or ctor
* Object: spec object
* Array: array of spec objects
*
* Build control properies of spec object:
* $constructor: Function
* $ctor: Function
* $factory: Function
* $mixim_spec: Boolean
* $type: String
@@ -74,7 +74,7 @@ define(['dojo/_base/declare',
*
* All other properties will be passed to object construction method.
*
* Builder default factory and constructor is overridden by those specified
* Builder default factory and ctor is overridden by those specified
* in overrides when overrides are set.
*/
build: function(spec, context, overrides) {
@@ -85,16 +85,16 @@ define(['dojo/_base/declare',
if (overrides) {
f = this.factory;
c = this.constructor;
c = this.ctor;
if (typeof overrides === 'function') {
if (construct.is_constructor(overrides)) {
overrides = { constructor: overrides };
if (construct.is_ctor(overrides)) {
overrides = { ctor: overrides };
} else {
overrides = { factory: overrides };
}
}
this.factory = overrides.factory;
this.constructor = overrides.constructor;
this.ctor = overrides.ctor;
}
var objects;
@@ -110,7 +110,7 @@ define(['dojo/_base/declare',
if (overrides) {
this.factory = f;
this.constructor = c;
this.ctor = c;
}
return objects;
@@ -127,10 +127,10 @@ define(['dojo/_base/declare',
var cs = {};
if (typeof spec === 'function') {
// spec constructor or factory
// spec ctor or factory
if (construct.is_constructor(spec)) {
cs.constructor = spec;
if (construct.is_ctor(spec)) {
cs.ctor = spec;
} else {
cs.factory = spec;
}
@@ -138,7 +138,7 @@ define(['dojo/_base/declare',
// spec is type name
cs = this._query_registry(spec);
} else if (typeof spec === 'object') {
var c = spec.$constructor,
var c = spec.$ctor,
f = spec.$factory,
m = spec.$mixim_spec,
t = spec.$type,
@@ -146,7 +146,7 @@ define(['dojo/_base/declare',
post = spec.$post_ops;
var s = lang.clone(spec);
delete s.$constructor;
delete s.$ctor;
delete s.$factory;
delete s.$mixim_spec;
delete s.$type;
@@ -154,7 +154,7 @@ define(['dojo/_base/declare',
delete s.$post_ops;
if (c) {
cs.constructor = c;
cs.ctor = c;
cs.spec = s;
}
else if (f) {
@@ -168,6 +168,8 @@ define(['dojo/_base/declare',
} else {
cs.spec = s;
}
} else {
cs.spec = s;
}
cs.pre_ops = cs.pre_ops || [];
@@ -176,8 +178,8 @@ define(['dojo/_base/declare',
if (pre) cs.post_ops.push.call(cs.post_ops, post);
cs.spec = cs.spec || {};
if (!cs.factory && !cs.constructor) {
if (this.constructor) cs.constructor = this.constructor;
if (!cs.factory && !cs.ctor) {
if (this.ctor) cs.ctor = this.ctor;
else if (this.factory) cs.factory = this.factory;
}
}
@@ -220,11 +222,11 @@ define(['dojo/_base/declare',
if (cs.factory && typeof cs.factory === 'function') {
obj = cs.factory(cs.spec);
} else if (cs.constructor && typeof cs.constructor === 'function') {
obj = new cs.constructor(cs.spec);
} else if (cs.ctor && typeof cs.ctor === 'function') {
obj = new cs.ctor(cs.spec);
} else {
throw {
error: 'Build error: missing or invalid constructor or factory',
error: 'Build error: missing or invalid ctor or factory',
spec: cs
};
}
@@ -275,7 +277,7 @@ define(['dojo/_base/declare',
spec = spec || {};
if (spec.factory) this.factory = spec.factory;
if (spec.constructor) this.constructor = spec.constructor;
if (spec.ctor) this.ctor = spec.ctor;
if (spec.registry) this.registry = spec.registry;
if (spec.spec_mod) this.spec_mod = spec.spec_mod;
else this.spec_mod = new Spec_mod();

View File

@@ -41,7 +41,7 @@ define(['dojo/_base/declare',
* Registers construction specification
*
* @param type {String|Object} type or construction spec
* @param func {Function} constructor or factory function
* @param func {Function} ctor or factory function
* @param [default_spec] {Object} default spec object for given type
*
* @returns Object
@@ -52,7 +52,7 @@ define(['dojo/_base/declare',
* var construction_spec = {
* type: String,
* factory: Function,
* constructor: Function,
* ctor: Function,
* spec: Object,
* pre_ops: [],
* post_ops: []
@@ -60,7 +60,7 @@ define(['dojo/_base/declare',
* register(construction_spec);
*
* or by defining them separately as params:
* register(type, factory|constructor, spec);
* register(type, factory|ctor, spec);
*/
register: function(type, func, default_spec) {
@@ -69,11 +69,11 @@ define(['dojo/_base/declare',
if (typeof type === 'object') {
cs = type;
} else {
construct.is_constructor(func) ? c = func : f = func;
construct.is_ctor(func) ? c = func : f = func;
cs = {
type: type,
factory: f,
constructor: c,
ctor: c,
spec: default_spec
};
}
@@ -105,7 +105,7 @@ define(['dojo/_base/declare',
if (def_cs.pre_ops) cs.pre_ops.push.call(cs.pre_ops, def_cs.pre_ops);
if (def_cs.post_ops) cs.post_ops.push.call(cs.post_ops, def_cs.post_ops);
if (def_cs.factory) cs.factory = def_cs.factory;
if (def_cs.constructor) cs.constructor = def_cs.constructor;
if (def_cs.ctor) cs.ctor = def_cs.ctor;
if (def_cs.spec) {
cs.spec = cs.spec || {};
lang.mixin(cs.spec, def_cs.spec);
@@ -182,8 +182,8 @@ define(['dojo/_base/declare',
throw 'Argument exception: Invalid type';
}
if (typeof spec.factory !== 'function' &&
typeof spec.constructor !== 'function') {
throw 'Argument exception: No factory or constructor defined';
typeof spec.ctor !== 'function') {
throw 'Argument exception: No factory or ctor defined';
}
if (!lang.isArrayLike(spec.pre_ops)) {
throw 'Argument exception: Invalid pre_ops type.';

View File

@@ -81,7 +81,7 @@ define(['dojo/_base/declare',
* Registers construction specification
*
* @param type {String|Object} type or construction spec
* @param func {Function} constructor or factory function
* @param func {Function} ctor or factory function
* @param [default_spec] {Object} default spec object for given type
*
* @returns Object

View File

@@ -32,7 +32,7 @@ define(['dojo/_base/declare',
* Checks if supplied object is a construtor function.
* It can recognize only classes declared by ''dojo/_base/declare''.
*/
is_constructor: function(obj) {
is_ctor: function(obj) {
// TODO: Find better method. Check by extend might not be very
// reliable.