Update modelbaseclass api docs
This commit is contained in:
parent
6b43378396
commit
84b55d8160
33
lib/model.js
33
lib/model.js
|
@ -45,6 +45,8 @@ var BASE_TYPES = {
|
||||||
*
|
*
|
||||||
* @class
|
* @class
|
||||||
* @param {Object} data Initial object data
|
* @param {Object} data Initial object data
|
||||||
|
* @param {Object} options An object to control the instantiation
|
||||||
|
* @returns {ModelBaseClass} an instance of the ModelBaseClass
|
||||||
*/
|
*/
|
||||||
function ModelBaseClass(data, options) {
|
function ModelBaseClass(data, options) {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
|
@ -71,7 +73,7 @@ function ModelBaseClass(data, options) {
|
||||||
ModelBaseClass.prototype._initProperties = function(data, options) {
|
ModelBaseClass.prototype._initProperties = function(data, options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var ctor = this.constructor;
|
var ctor = this.constructor;
|
||||||
// issue#1261
|
|
||||||
if (typeof data !== 'undefined' && data.constructor &&
|
if (typeof data !== 'undefined' && data.constructor &&
|
||||||
typeof (data.constructor) !== 'function') {
|
typeof (data.constructor) !== 'function') {
|
||||||
throw new Error(g.f('Property name "{{constructor}}" is not allowed in %s data', ctor.modelName));
|
throw new Error(g.f('Property name "{{constructor}}" is not allowed in %s data', ctor.modelName));
|
||||||
|
@ -371,6 +373,11 @@ ModelBaseClass.defineProperty = function(prop, params) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get model property type.
|
||||||
|
* @param {String} propName Property name
|
||||||
|
* @returns {String} Name of property type
|
||||||
|
*/
|
||||||
ModelBaseClass.getPropertyType = function(propName) {
|
ModelBaseClass.getPropertyType = function(propName) {
|
||||||
var prop = this.definition.properties[propName];
|
var prop = this.definition.properties[propName];
|
||||||
if (!prop) {
|
if (!prop) {
|
||||||
|
@ -384,6 +391,11 @@ ModelBaseClass.getPropertyType = function(propName) {
|
||||||
return prop.type.name;
|
return prop.type.name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get model property type.
|
||||||
|
* @param {String} propName Property name
|
||||||
|
* @returns {String} Name of property type
|
||||||
|
*/
|
||||||
ModelBaseClass.prototype.getPropertyType = function(propName) {
|
ModelBaseClass.prototype.getPropertyType = function(propName) {
|
||||||
return this.constructor.getPropertyType(propName);
|
return this.constructor.getPropertyType(propName);
|
||||||
};
|
};
|
||||||
|
@ -401,6 +413,9 @@ ModelBaseClass.toString = function() {
|
||||||
* Returns a canonical object representation (no getters and setters).
|
* Returns a canonical object representation (no getters and setters).
|
||||||
*
|
*
|
||||||
* @param {Boolean} onlySchema Restrict properties to dataSource only. Default is false. If true, the function returns only properties defined in the schema; Otherwise it returns all enumerable properties.
|
* @param {Boolean} onlySchema Restrict properties to dataSource only. Default is false. If true, the function returns only properties defined in the schema; Otherwise it returns all enumerable properties.
|
||||||
|
* @param {Boolean} removeHidden Boolean flag as part of the transformation. If true, then hidden properties should not be brought out.
|
||||||
|
* @param {Boolean} removeProtected Boolean flag as part of the transformation. If true, then protected properties should not be brought out.
|
||||||
|
* @returns {Object} returns Plain JSON object
|
||||||
*/
|
*/
|
||||||
ModelBaseClass.prototype.toObject = function(onlySchema, removeHidden, removeProtected) {
|
ModelBaseClass.prototype.toObject = function(onlySchema, removeHidden, removeProtected) {
|
||||||
if (onlySchema === undefined) {
|
if (onlySchema === undefined) {
|
||||||
|
@ -527,6 +542,11 @@ ModelBaseClass.prototype.toObject = function(onlySchema, removeHidden, removePro
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if property is protected.
|
||||||
|
* @param {String} propertyName Property name
|
||||||
|
* @returns {Boolean} true or false if proptected or not.
|
||||||
|
*/
|
||||||
ModelBaseClass.isProtectedProperty = function(propertyName) {
|
ModelBaseClass.isProtectedProperty = function(propertyName) {
|
||||||
var Model = this;
|
var Model = this;
|
||||||
var settings = Model.definition && Model.definition.settings;
|
var settings = Model.definition && Model.definition.settings;
|
||||||
|
@ -546,6 +566,11 @@ ModelBaseClass.isProtectedProperty = function(propertyName) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if property is hidden.
|
||||||
|
* @param {String} propertyName Property name
|
||||||
|
* @returns {Boolean} true or false if hidden or not.
|
||||||
|
*/
|
||||||
ModelBaseClass.isHiddenProperty = function(propertyName) {
|
ModelBaseClass.isHiddenProperty = function(propertyName) {
|
||||||
var Model = this;
|
var Model = this;
|
||||||
var settings = Model.definition && Model.definition.settings;
|
var settings = Model.definition && Model.definition.settings;
|
||||||
|
@ -614,6 +639,12 @@ ModelBaseClass.prototype.inspect = function(depth) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {String} anotherClass could be string or class. Name of the class or the class itself
|
||||||
|
* @param {Object} options An object to control the instantiation
|
||||||
|
* @returns {ModelClass}
|
||||||
|
*/
|
||||||
ModelBaseClass.mixin = function(anotherClass, options) {
|
ModelBaseClass.mixin = function(anotherClass, options) {
|
||||||
if (typeof anotherClass === 'string') {
|
if (typeof anotherClass === 'string') {
|
||||||
this.modelBuilder.mixins.applyMixin(this, anotherClass, options);
|
this.modelBuilder.mixins.applyMixin(this, anotherClass, options);
|
||||||
|
|
Loading…
Reference in New Issue