all files / lib/UrlGenerator/ UrlGenerator.js

77.78% Statements 14/18
66.67% Branches 8/12
100% Functions 2/2
77.78% Lines 14/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48                  25× 25×                     21×   21× 17×   17× 11×     17×       17×           21×      
"use strict";
 
Object.defineProperty(exports, "__esModule", {
    value: true
});
let UrlGenerator = class UrlGenerator {
    /**
     * @param {UrlGeneratorPartArray} parts
     * @param {string} extension
    */
    constructor(parts, extension) {
        this.parts = parts;
        this.extension = extension;
    }
 
    /**
     * @param {object} args
     * @param {string} [args.extension]
     * @param {string} [args.queryString]
     * @param {string} [args.hash]
     * @returns {*}
    */
    generate(args) {
        let url = this.parts.generate(args);
 
        if (args) {
            Iif (args.extension) {
                url += `.${ args.extension }`;
            } else if (this.extension) {
                url += `.${ this.extension }`;
            }
 
            Iif (args.queryString) {
                url += `?${ args.queryString }`; // TODO: use qs ?
            }
 
            Iif (args.hash) {
                url += `#${ args.hash }`;
            }
        } else Iif (this.extension) {
            url += `.${ this.extension }`;
        }
 
        return url;
    }
};
exports.default = UrlGenerator;
//# sourceMappingURL=UrlGenerator.js.map