AnP

Común

Casi todos los archivos ECMA vienen con una estructura tal como se presenta a continuación:

  • typejs
  • characters1055
  • lines51
/** @typedef {import("../Application/AnP.ecma.js").AnP} AnP */

/**
 * @constructor
 * @param {!AnP} anp 
 * @param {!(Object.<string, any|null>|Array.<Object.<string, any|null>>)} [inputs] 
 * @returns {void}
 * @access public
 */
const ObjectClass = function(anp, inputs){
    "use strict";

    /** @type {ObjectClass} */
    const self = this;
    /** @type {boolean} */
    let started = false;

    /**
     * @returns {void}
     * @access private
     */
    const constructor = () => {};

    /**
     * @param {!anp_start_callback} [callback] 
     * @returns {boolean}
     * @access public
     */
    this.start = callback => {

        /**
         * @param {anp_start_callback} status 
         * @returns {void}
         */
        const end = status => AnP.prototype.execute(callback, status);

        if(started){
            end(false);
            return false;
        };
        started = true;

        AnP.prototype.launch(self, [/* Local objects keys */], () => end(true));

        return true;
    };

    constructor();

};