moeralib
Version:
Library to interact with Moera decentralized social network
43 lines (42 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.commaSeparatedFlags = exports.ut = exports.urlWithParameters = void 0;
function urlWithParameters(url, parameters) {
if (parameters == null) {
return url;
}
let query = "";
for (let name in parameters) {
if (parameters.hasOwnProperty(name)) {
const value = parameters[name];
if (value != null) {
query += (query === "" ? "" : "&") + name + "=" + encodeURIComponent(value);
}
}
}
if (query === "") {
return url;
}
return url + (url.indexOf("?") < 0 ? "?" : "&") + query;
}
exports.urlWithParameters = urlWithParameters;
function ut(strings, ...args) {
const all = [];
let i = 0;
while (i < strings.length || i < args.length) {
if (i < strings.length) {
all.push(strings[i]);
}
if (i < args.length) {
all.push(encodeURIComponent(args[i]));
}
i++;
}
return all.join("");
}
exports.ut = ut;
function commaSeparatedFlags(flags) {
const names = Object.entries(flags).filter(([_, value]) => value).map(([name]) => name);
return names.length > 0 ? names.join(',') : null;
}
exports.commaSeparatedFlags = commaSeparatedFlags;