JSDoc представление объекта, который содержит методы - PullRequest
0 голосов
/ 14 октября 2019

Я разрабатываю приложение и хочу, чтобы мой код был максимально читабельным, и я хочу использовать JSDoc. Я хочу описать объекты, но я не видел пример в Интернете

Я попытался @memberof, но объект содержит вложенный объект, тогда становится трудно читать


/**
 * @const {Object} SUPPORT Objet pour gérer les supports
 */
const SUPPORT = {

    /**
     * @property {Object} container Propriété pour gérer le conteneur
     */
    container: {

        /**
         * Récupérer le conteneur
         * @returns {Object | null} Element récupéré ou null
         */
        get: () => {
            return document.getElementById("video_container")
        },

        /**
         * Nettoyer le conteneur (enlever les éléments à l'interieur)
         */
        clear: () => SUPPORT.container.get().innerHTML = "",

        /**
         * Ajouter un élement dans le conteneur
         * @param {HTMLElement} element Element qui va être ajouter au conteneur
         */
        add: (element) => SUPPORT.container.get().appendChild(element),

        /**
         * Enlever un élément du conteneur
         * @param {HTMLElement} element Element qui va être retirer au conteneur
         */
        remove: (element) => SUPPORT.container.get().removeChild(element)

    },
    video: {

        /**
         * Générer du code HTML
         * @param {string} chemin Chemin de la vidéo
         */
        genererHTML: (chemin) => {
            const video = document.createElement("video");
            const source = document.createElement("source");
            video.width = "640";
            video.height = "480";
            source.src = chemin;
            video.appendChild(source);
            SUPPORT.container.add(video);
        }
    },
    image: {

        /**
         * Générer du code HTML
         * @param {string} chemin Chemin de l'image
         */
        genererHTML: chemin => {
            const image = document.createElement("img");
            image.src = chemin;
            SUPPORT.container.add(image);
        }
    }
};

Я ожидаю, чтоиметь правильную документацию при переходе к выводу JSDoc

edit: я нашел решение: я использую пространство имен в пространстве имен, но оно не чистое

/**
 * @const {Object} SUPPORT Object qui contient les informations pour gérer les supports
 * 
 * @namespace SUPPORT
 */
const SUPPORT = {

    /**
     * @namespace SUPPORT.container
     */
    container: {

        /**
         * Récupérer le conteneur
         * @returns {Object | null} Element récupéré ou null    
         */
        get: () => {
            return document.getElementById("video_container")
        },

        /**
         * Nettoyer le conteneur (enlever les éléments à l'interieur)
         */
        clear: () => SUPPORT.container.get().innerHTML = "",

        /**
         * Ajouter un élement dans le conteneur
         * @param {HTMLElement} element Element qui va être ajouter au conteneur
         */
        add: (element) => SUPPORT.container.get().appendChild(element),

        /**
         * Enlever un élément du conteneur
         * @param {HTMLElement} element Element qui va être retirer au conteneur
         */
        remove: (element) => SUPPORT.container.get().removeChild(element)

    },

    /**
     * @namespace SUPPORT.video
     */
    video: {

        /**
         * Générer du code HTML
         * @param {string} chemin Chemin de la vidéo
         */
        genererHTML: (chemin) => {
            const video = document.createElement("video");
            const source = document.createElement("source");
            video.width = "640";
            video.height = "480";
            source.src = chemin;
            video.appendChild(source);
            SUPPORT.container.add(video);
        }
    },

    /**
     * @namespace SUPPORT.image
     */
    image: {

        /**
         * Générer du code HTML
         * @param {string} chemin Chemin de l'image
         */
        genererHTML: chemin => {
            const image = document.createElement("img");
            image.src = chemin;
            SUPPORT.container.add(image);
        }
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...