<commit_before>var path = require('path'),
    inherit = require('inherit'),
    Pather;

module.exports = Pather = inherit({

    _basePath: undefined,

    __constructor: function (basePath) {
        this._basePath = basePath;
    },

    /**
     * Returns path to directory with database snapshots {base path}/snapshots
     * @returns {*|string}
     */
    getSnapshotsDir: function () {
        return path.join(this._basePath, this.__self.CONSTANTS.SNAPSHOTS);
    },

    /**
     * Returns path to given snapshot directory {base path}/snapshots/{snapshot name}
     * @param {String} snapshotName - name of snapshot
     * @returns {*|string}
     */
    getSnapshotDir: function (snapshotName) {
        return path.join(this.getSnapshotsDir(), snapshotName);
    },

    /**
     * Returns path to database folder {base path}/leveldb
     * @returns {*|string}
     */
    getDbDir: function () {
        return path.join(this._basePath, this.__self.CONSTANTS.DB);
    },

    /**
     * Returns path to database folder for given snapshot name
     * {base path}/snapshots/{snapshot name}/leveldb
     * @param {String} snapshotName - name of snapshot
     * @returns {*|string}
     */
    getSnapshotDbDir: function (snapshotName) {
        return path.join(this.getSnapshotDir(snapshotName), this.__self.CONSTANTS.DB);
    },

    /**
     * Returns path to data.json file for given snapshot
     * {base path}/snapshots/{snapshot name}/data.json
     * @param {String} snapshotName - name of snapshot
     * @returns {*|string}
     */
    getSnapshotDataFile: function (snapshotName) {
        return path.join(this.getSnapshotDir(snapshotName), this.__self.CONSTANTS.DATA_JSON);
    },

    /**
     * Returns path to symlink {base path}/{symlink name}
     * @param {String} symlinkName - name of symlink
     * @returns {*|string}
     */
    getSymlink: function (symlinkName) {
        return path.join(this._basePath, symlinkName);
    }
}, {
    CONSTANTS: {
        SNAPSHOTS: 'snapshots',
        DB: 'leveldb',
        DATA_JSON: 'data.json'
    },
<commit_msg>Add missed jsdoc to create method of lib/pather.js module<commit_after>var path = require('path'),
    inherit = require('inherit'),
    Pather;

module.exports = Pather = inherit({

    _basePath: undefined,

    __constructor: function (basePath) {
        this._basePath = basePath;
    },

    /**
     * Returns path to directory with database snapshots {base path}/snapshots
     * @returns {*|string}
     */
    getSnapshotsDir: function () {
        return path.join(this._basePath, this.__self.CONSTANTS.SNAPSHOTS);
    },

    /**
     * Returns path to given snapshot directory {base path}/snapshots/{snapshot name}
     * @param {String} snapshotName - name of snapshot
     * @returns {*|string}
     */
    getSnapshotDir: function (snapshotName) {
        return path.join(this.getSnapshotsDir(), snapshotName);
    },

    /**
     * Returns path to database folder {base path}/leveldb
     * @returns {*|string}
     */
    getDbDir: function () {
        return path.join(this._basePath, this.__self.CONSTANTS.DB);
    },

    /**
     * Returns path to database folder for given snapshot name
     * {base path}/snapshots/{snapshot name}/leveldb
     * @param {String} snapshotName - name of snapshot
     * @returns {*|string}
     */
    getSnapshotDbDir: function (snapshotName) {
        return path.join(this.getSnapshotDir(snapshotName), this.__self.CONSTANTS.DB);
    },

    /**
     * Returns path to data.json file for given snapshot
     * {base path}/snapshots/{snapshot name}/data.json
     * @param {String} snapshotName - name of snapshot
     * @returns {*|string}
     */
    getSnapshotDataFile: function (snapshotName) {
        return path.join(this.getSnapshotDir(snapshotName), this.__self.CONSTANTS.DATA_JSON);
    },

    /**
     * Returns path to symlink {base path}/{symlink name}
     * @param {String} symlinkName - name of symlink
     * @returns {*|string}
     */
    getSymlink: function (symlinkName) {
        return path.join(this._basePath, symlinkName);
    }
}, {
    CONSTANTS: {
        SNAPSHOTS: 'snapshots',
        DB: 'leveldb',
        DATA_JSON: 'data.json'
    },

    /**
     * Creates instance of Pather module for given base path
     * @param {String} basePath
     * @returns {Pather}
     */
{'fraction_non_alphanumeric': 0.12626262626262627, 'fraction_numerical': 0.0, 'mean_word_length': 2.6308333333333334, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2168886', 'n_tokens_mistral': 1307, 'n_tokens_neox': 1315, 'n_words': 318}