JSFiddle - React, Tailwind, and code Playground
by aruss
JavaScript
if (!String.prototype.toUrl) {
String.prototype.toUrl = function(o) {
var r = this.replace(/\{([^{}]*)\}/g,function (a, b) {
var r = o[b];
delete o[b];
return typeof r === 'string' || typeof r === 'number' ? r : a;
}
), p = [];
for (var k in o) {
if (o[k] !== undefined && o[k] !== null) {
var v = o[k];
if (isNaN(v))
v = escape(v);
p.push(k + '=' + v);
}
}
return r + ((p.length > 0) ? '?' + p.join('&') : '');
};
}
// usage
document.write('api/post/{postId}'.toUrl({ postId: 124 }));
document.write('<br/>');
document.write('api/post/{postId}/comments'.toUrl({ postId: 124, take: 10, skip:10 }));
document.write('<br/>');