Added class_abstract docblocks
parent
e0de030cee
commit
db9de2712e
|
@ -29,6 +29,11 @@
|
||||||
var Class = require( __dirname + '/class' );
|
var Class = require( __dirname + '/class' );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an abstract class
|
||||||
|
*
|
||||||
|
* @return {Class} abstract class
|
||||||
|
*/
|
||||||
module.exports = exports = function()
|
module.exports = exports = function()
|
||||||
{
|
{
|
||||||
markAbstract( arguments );
|
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()
|
exports.extend = function()
|
||||||
{
|
{
|
||||||
markAbstract( arguments );
|
markAbstract( arguments );
|
||||||
|
|
||||||
return Class.extend.apply( this, 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()
|
exports.implement = function()
|
||||||
{
|
{
|
||||||
var impl = Class.implement.apply( this, arguments ),
|
var impl = Class.implement.apply( this, arguments ),
|
||||||
extend = impl.extend;
|
extend = impl.extend;
|
||||||
|
|
||||||
|
// wrap extend, applying the abstract flag
|
||||||
impl.extend = function()
|
impl.extend = function()
|
||||||
{
|
{
|
||||||
markAbstract( arguments );
|
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 )
|
function markAbstract( args )
|
||||||
{
|
{
|
||||||
// the last argument _should_ be the definition
|
// the last argument _should_ be the definition
|
||||||
|
|
Loading…
Reference in New Issue