ya-express-ntlm
Version:
48 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transferExistingProps = exports.sanitizeText = exports.UUIDv4 = exports.isFlagSet = exports.toBinary = exports.concatBuffer = void 0;
const buffer_1 = require("buffer");
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_1.Buffer.alloc(totalLength);
for (i = 0; i < buffersArray.length; i++) {
buffersArray[i].copy(finalBuf, offset);
offset += buffersArray[i].length;
}
return finalBuf;
};
exports.concatBuffer = concatBuffer;
const toBinary = (int) => parseInt(int, 2);
exports.toBinary = toBinary;
const isFlagSet = (field, flag) => (field & flag) === flag;
exports.isFlagSet = isFlagSet;
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);
});
exports.UUIDv4 = UUIDv4;
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, ' ');
exports.sanitizeText = sanitizeText;
const transferExistingProps = (src, dest) => {
Object.entries(src).forEach(([k, v]) => {
if (v) {
dest[k] = v;
}
});
return dest;
};
exports.transferExistingProps = transferExistingProps;
//# sourceMappingURL=utils.js.map