Added class_abstract docblocks
parent
e0de030cee
commit
db9de2712e
|
@ -29,6 +29,11 @@
|
|||
var Class = require( __dirname + '/class' );
|
||||
|
||||
|
||||
/**
|
||||
* Creates an abstract class
|
||||
*
|
||||
* @return {Class} abstract class
|
||||
*/
|
||||
module.exports = exports = function()
|
||||
{
|
||||
markAbstract( arguments );
|
||||
|
@ -38,19 +43,31 @@ module.exports = exports = function()
|
|||
};
|
||||
|
||||
|
||||
/**
|
||||
* Creates an abstract class from a class extend operation
|
||||
*
|
||||
* @return {Class} abstract class
|
||||
*/
|
||||
exports.extend = function()
|
||||
{
|
||||
markAbstract( arguments );
|
||||
|
||||
return Class.extend.apply( this, arguments );
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Creates an abstract class implementing the given members
|
||||
*
|
||||
* Simply wraps the class module's implement() method.
|
||||
*
|
||||
* @return {Object} abstract class
|
||||
*/
|
||||
exports.implement = function()
|
||||
{
|
||||
var impl = Class.implement.apply( this, arguments ),
|
||||
extend = impl.extend;
|
||||
|
||||
// wrap extend, applying the abstract flag
|
||||
impl.extend = function()
|
||||
{
|
||||
markAbstract( arguments );
|
||||
|
@ -61,6 +78,16 @@ exports.implement = function()
|
|||
};
|
||||
|
||||
|
||||
/**
|
||||
* Causes a definition to be flagged as abstract
|
||||
*
|
||||
* This function assumes the last argument to be the definition, which is the
|
||||
* common case, and modifies the object referenced by that argument.
|
||||
*
|
||||
* @param {arguments} args arguments to parse
|
||||
*
|
||||
* @return {undefined}
|
||||
*/
|
||||
function markAbstract( args )
|
||||
{
|
||||
// the last argument _should_ be the definition
|
||||
|
|
Loading…
Reference in New Issue