sfccxt
Version:
A JavaScript / Python / PHP cryptocurrency trading library with support for 130+ exchanges
28 lines (24 loc) • 1.4 kB
JavaScript
;
const uuid = a => a ? (a ^ Math.random () * 16 >> a / 4).toString (16) : ([1e7]+-1e3+-4e3+-8e3+-1e11).replace (/[018]/g, uuid)
const uuid16 = a => a ? (a ^ Math.random () * 16 >> a / 4).toString (16) : ([1e5]+1e2+4e2+8e3).replace (/[018]/g, uuid16)
const uuid22 = a => a ? (a ^ Math.random () * 16 >> a / 4).toString (16) : ([1e7]+1e3+4e3+8e5).replace (/[018]/g, uuid22)
module.exports = {
uuid
, uuid16
, uuid22
// unCamelCase has to work with the following edge cases
//
// parseOHLCVs > parse_ohlcvs
// safeString2 > safe_string_2
// safeStringN > safe_string_n
// convertOHLCVToTradingView > convert_ohlcv_to_trading_view
// fetchL2OrderBook > fetch_l2_order_book
// stringToBase64 > string_to_base64
// base64ToString > base64_to_string
// parseHTTPResponse > parse_http_response
// hasFetchOHLCV > has_fetch_ohlcv
//
, unCamelCase: s => s.match (/[A-Z]/) ? s.replace (/[a-z0-9][A-Z]/g, x => x[0] + '_' + x[1]).replace(/[A-Z0-9][A-Z0-9][a-z][^$]/g, x => x[0] + '_' + x[1] + x[2] + x[3]).replace(/[a-z][0-9]$/g, x=> x[0] + '_' + x[1]).toLowerCase () : s
, capitalize: s => s.length ? (s.charAt (0).toUpperCase () + s.slice (1)) : s
, strip: s => s.replace(/^\s+|\s+$/g, '')
}