resturlify
Version:
Consistently generate restful urls
37 lines (32 loc) • 1 kB
JavaScript
;
function RestUrlify(baseUrl) {
var baseUrl = baseUrl;
return {
convertParams: function ( params ) {
return Object.keys( params ).map( function ( key ) {
return key + '=' + encodeURIComponent( params[key] );
} ).join( '&' );
},
generateParams: function ( params ) {
return (params) ? '?' + this.convertParams( params ) : '';
},
buildUrl: function ( options ) {
var url = baseUrl;
options = options || {};
url = (options.resource) ? url + '/' + options.resource : url;
url = (options.id) ? url + '/' + options.id : url;
url = (options.customMethod) ? url + '/' + options.customMethod : url;
url = url + this.generateParams( options.query );
return url;
}
}
}
if (typeof module === 'object' && module.exports) {
module.exports = RestUrlify;
} else if (typeof define === 'function' && define.amd) {
define(function() {
return RestUrlify;
});
} else {
window.RestUrlify = RestUrlify;
}