ya-express-ntlm
Version:
39 lines • 1.31 kB
JavaScript
import { Buffer } from 'buffer';
export const concatBuffer = (...args) => {
const buffersArray = Array.prototype.slice.call(args, 0);
let totalLength = 0;
let i;
let offset = 0;
for (i = 0; i < buffersArray.length; i++) {
totalLength += buffersArray[i].length;
}
const finalBuf = Buffer.alloc(totalLength);
for (i = 0; i < buffersArray.length; i++) {
buffersArray[i].copy(finalBuf, offset);
offset += buffersArray[i].length;
}
return finalBuf;
};
export const toBinary = (int) => parseInt(int, 2);
export const isFlagSet = (field, flag) => (field & flag) === flag;
export const UUIDv4 = () => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = Math.random() * 16 | 0;
const v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
export const sanitizeText = (msg) => (msg || '')
.toString('utf-8')
.replace(/\s+/sg, ' ')
.replace(/[^\w. -]/g, '♦')
.replace(/([\w.-])♦([\w.-])/g, '$1$2')
.replace(/([\w.-])♦([\w.-])/g, '$1$2')
.replace(/[♦\s]{2,}/sg, ' ');
export const transferExistingProps = (src, dest) => {
Object.entries(src).forEach(([k, v]) => {
if (v) {
dest[k] = v;
}
});
return dest;
};
//# sourceMappingURL=utils.js.map