"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 |