UNPKG

tedious

Version:

A TDS driver, for connecting to MS SQLServer databases.

48 lines (47 loc) • 4.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _guidParser = require("../guid-parser"); const TYPE_INFO = Buffer.from([0x24, 0x10]); const UniqueIdentifier = { id: 0x24, type: 'GUIDN', name: 'UniqueIdentifier', declaration: function () { return 'uniqueidentifier'; }, resolveLength: function () { return 16; }, writeTypeInfo(buffer) { buffer.writeBuffer(TYPE_INFO); }, writeValue(buffer, parameter) { const value = parameter.value; if (value == null) { buffer.writeUInt8(0x00); return; } buffer.writeUInt8(0x10); for (const byte of (0, _guidParser.guidToArray)(value)) { buffer.writeUInt8(byte); } }, validate: function (value) { if (value == null) { return null; } if (typeof value !== 'string') { throw new TypeError('Invalid string.'); } if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)) { throw new TypeError('Invalid GUID.'); } return value; } }; var _default = exports.default = UniqueIdentifier; module.exports = UniqueIdentifier; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3VpZFBhcnNlciIsInJlcXVpcmUiLCJUWVBFX0lORk8iLCJCdWZmZXIiLCJmcm9tIiwiVW5pcXVlSWRlbnRpZmllciIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJ3cml0ZVR5cGVJbmZvIiwiYnVmZmVyIiwid3JpdGVCdWZmZXIiLCJ3cml0ZVZhbHVlIiwicGFyYW1ldGVyIiwidmFsdWUiLCJ3cml0ZVVJbnQ4IiwiYnl0ZSIsImd1aWRUb0FycmF5IiwidmFsaWRhdGUiLCJUeXBlRXJyb3IiLCJ0ZXN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3VuaXF1ZWlkZW50aWZpZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyBndWlkVG9BcnJheSB9IGZyb20gJy4uL2d1aWQtcGFyc2VyJztcblxuY29uc3QgVFlQRV9JTkZPID0gQnVmZmVyLmZyb20oWzB4MjQsIDB4MTBdKTtcblxuY29uc3QgVW5pcXVlSWRlbnRpZmllcjogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDI0LFxuICB0eXBlOiAnR1VJRE4nLFxuICBuYW1lOiAnVW5pcXVlSWRlbnRpZmllcicsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAndW5pcXVlaWRlbnRpZmllcic7XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIDE2O1xuICB9LFxuXG4gIHdyaXRlVHlwZUluZm8oYnVmZmVyKSB7XG4gICAgYnVmZmVyLndyaXRlQnVmZmVyKFRZUEVfSU5GTyk7XG4gIH0sXG5cbiAgd3JpdGVWYWx1ZShidWZmZXIsIHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlIGFzIHN0cmluZyB8IG51bGw7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDB4MDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDB4MTApO1xuICAgIGZvciAoY29uc3QgYnl0ZSBvZiBndWlkVG9BcnJheSh2YWx1ZSkpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KGJ5dGUpO1xuICAgIH1cbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc3RyaW5nLicpO1xuICAgIH1cblxuICAgIGlmICghL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXsxMn0kL2kudGVzdCh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgR1VJRC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFVuaXF1ZUlkZW50aWZpZXI7XG5tb2R1bGUuZXhwb3J0cyA9IFVuaXF1ZUlkZW50aWZpZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUVBLE1BQU1DLFNBQVMsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFM0MsTUFBTUMsZ0JBQTBCLEdBQUc7RUFDakNDLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRSxrQkFBa0I7RUFFeEJDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxrQkFBa0I7RUFDM0IsQ0FBQztFQUVEQyxhQUFhLEVBQUUsU0FBQUEsQ0FBQSxFQUFXO0lBQ3hCLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFFREMsYUFBYUEsQ0FBQ0MsTUFBTSxFQUFFO0lBQ3BCQSxNQUFNLENBQUNDLFdBQVcsQ0FBQ1gsU0FBUyxDQUFDO0VBQy9CLENBQUM7RUFFRFksVUFBVUEsQ0FBQ0YsTUFBTSxFQUFFRyxTQUFTLEVBQUU7SUFDNUIsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQXNCO0lBQzlDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakJKLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDLElBQUksQ0FBQztNQUN2QjtJQUNGO0lBRUFMLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDLElBQUksQ0FBQztJQUN2QixLQUFLLE1BQU1DLElBQUksSUFBSSxJQUFBQyx1QkFBVyxFQUFDSCxLQUFLLENBQUMsRUFBRTtNQUNyQ0osTUFBTSxDQUFDSyxVQUFVLENBQUNDLElBQUksQ0FBQztJQUN6QjtFQUNGLENBQUM7RUFFREUsUUFBUSxFQUFFLFNBQUFBLENBQVNKLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUM3QixNQUFNLElBQUlLLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QztJQUVBLElBQUksQ0FBQyxpRUFBaUUsQ0FBQ0MsSUFBSSxDQUFDTixLQUFLLENBQUMsRUFBRTtNQUNsRixNQUFNLElBQUlLLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDdEM7SUFFQSxPQUFPTCxLQUFLO0VBQ2Q7QUFDRixDQUFDO0FBQUMsSUFBQU8sUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYXBCLGdCQUFnQjtBQUMvQnFCLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHbkIsZ0JBQWdCIiwiaWdub3JlTGlzdCI6W119