36 lines
821 B
JavaScript
36 lines
821 B
JavaScript
import { join, map } from 'lodash'
|
|
|
|
/**
|
|
* converted binary data in strings to hex format
|
|
* @param {string|number[]} key
|
|
* @return {string}
|
|
*/
|
|
export function decodeRedisKey(key) {
|
|
if (key instanceof Array) {
|
|
// char array, convert to hex string
|
|
return join(
|
|
map(key, (k) => {
|
|
if (k >= 32 && k <= 126) {
|
|
return String.fromCharCode(k)
|
|
}
|
|
return '\\x' + k.toString(16).toUpperCase().padStart(2, '0')
|
|
}),
|
|
'',
|
|
)
|
|
}
|
|
|
|
return key
|
|
}
|
|
|
|
/**
|
|
* convert char code array to string
|
|
* @param {string|number[]} key
|
|
* @return {string}
|
|
*/
|
|
export function nativeRedisKey(key) {
|
|
if (key instanceof Array) {
|
|
return map(key, (c) => String.fromCharCode(c)).join('')
|
|
}
|
|
return key
|
|
}
|