UNPKG

crowdstart.js

Version:

Ecommerce SDK for JavaScript and client for Crowdstart.

45 lines (38 loc) 1.25 kB
# Helpers exports.isFunction = (fn) -> typeof fn is 'function' exports.isString = (s) -> typeof s is 'string' # Few status codes we use throughout code base exports.statusOk = (res) -> res.status is 200 exports.statusCreated = (res) -> res.status is 201 exports.statusNoContent = (res) -> res.status is 204 # Throw "fat" errors. exports.newError = (data, res = {}) -> message = res?.data?.error?.message ? 'Request failed' err = new Error message err.message = message err.req = data err.data = res.data err.responseText = res.data err.status = res.status err.type = res.data?.error?.type err # Update query on url exports.updateQuery = (url, key, value) -> re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi') if re.test url if value? url.replace re, '$1' + key + '=' + value + '$2$3' else hash = url.split '#' url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, '') url += '#' + hash[1] if hash[1]? url else if value? separator = if url.indexOf('?') != -1 then '&' else '?' hash = url.split '#' url = hash[0] + separator + key + '=' + value url += '#' + hash[1] if hash[1]? url else url