tedious
Version:
A TDS driver, for connecting to MS SQLServer databases.
46 lines (45 loc) • 4.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _intn = _interopRequireDefault(require("./intn"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const TYPE_INFO = Buffer.from([_intn.default.id, 0x04]);
const Int = {
id: 0x38,
type: 'INT4',
name: 'Int',
declaration: function () {
return 'int';
},
writeTypeInfo(buffer) {
buffer.writeBuffer(TYPE_INFO);
},
writeValue(buffer, parameter) {
if (parameter.value == null) {
buffer.writeUInt8(0x00);
return;
}
buffer.writeUInt8(0x04);
buffer.writeInt32LE(Number(parameter.value));
},
validate: function (value) {
if (value == null) {
return null;
}
if (typeof value !== 'number') {
value = Number(value);
}
if (isNaN(value)) {
throw new TypeError('Invalid number.');
}
if (value < -2147483648 || value > 2147483647) {
throw new TypeError('Value must be between -2147483648 and 2147483647, inclusive.');
}
return value | 0;
}
};
var _default = exports.default = Int;
module.exports = Int;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW50biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiVFlQRV9JTkZPIiwiQnVmZmVyIiwiZnJvbSIsIkludE4iLCJpZCIsIkludCIsInR5cGUiLCJuYW1lIiwiZGVjbGFyYXRpb24iLCJ3cml0ZVR5cGVJbmZvIiwiYnVmZmVyIiwid3JpdGVCdWZmZXIiLCJ3cml0ZVZhbHVlIiwicGFyYW1ldGVyIiwidmFsdWUiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVJbnQzMkxFIiwiTnVtYmVyIiwidmFsaWRhdGUiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL2ludC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcbmltcG9ydCBJbnROIGZyb20gJy4vaW50bic7XG5cbmNvbnN0IFRZUEVfSU5GTyA9IEJ1ZmZlci5mcm9tKFtJbnROLmlkLCAweDA0XSk7XG5cbmNvbnN0IEludDogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDM4LFxuICB0eXBlOiAnSU5UNCcsXG4gIG5hbWU6ICdJbnQnLFxuXG4gIGRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ2ludCc7XG4gIH0sXG5cbiAgd3JpdGVUeXBlSW5mbyhidWZmZXIpIHtcbiAgICBidWZmZXIud3JpdGVCdWZmZXIoVFlQRV9JTkZPKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSA9PSBudWxsKSB7XG4gICAgICBidWZmZXIud3JpdGVVSW50OCgweDAwKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBidWZmZXIud3JpdGVVSW50OCgweDA0KTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKE51bWJlcihwYXJhbWV0ZXIudmFsdWUpKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG51bWJlci4nKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAtMjE0NzQ4MzY0OCB8fCB2YWx1ZSA+IDIxNDc0ODM2NDcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1ZhbHVlIG11c3QgYmUgYmV0d2VlbiAtMjE0NzQ4MzY0OCBhbmQgMjE0NzQ4MzY0NywgaW5jbHVzaXZlLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZSB8IDA7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEludDtcbm1vZHVsZS5leHBvcnRzID0gSW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBMEIsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFMUIsTUFBTUcsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQyxhQUFJLENBQUNDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUU5QyxNQUFNQyxHQUFhLEdBQUc7RUFDcEJELEVBQUUsRUFBRSxJQUFJO0VBQ1JFLElBQUksRUFBRSxNQUFNO0VBQ1pDLElBQUksRUFBRSxLQUFLO0VBRVhDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxLQUFLO0VBQ2QsQ0FBQztFQUVEQyxhQUFhQSxDQUFDQyxNQUFNLEVBQUU7SUFDcEJBLE1BQU0sQ0FBQ0MsV0FBVyxDQUFDWCxTQUFTLENBQUM7RUFDL0IsQ0FBQztFQUVEWSxVQUFVQSxDQUFDRixNQUFNLEVBQUVHLFNBQVMsRUFBRTtJQUM1QixJQUFJQSxTQUFTLENBQUNDLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0JKLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDLElBQUksQ0FBQztNQUN2QjtJQUNGO0lBRUFMLE1BQU0sQ0FBQ0ssVUFBVSxDQUFDLElBQUksQ0FBQztJQUN2QkwsTUFBTSxDQUFDTSxZQUFZLENBQUNDLE1BQU0sQ0FBQ0osU0FBUyxDQUFDQyxLQUFLLENBQUMsQ0FBQztFQUM5QyxDQUFDO0VBRURJLFFBQVEsRUFBRSxTQUFBQSxDQUFTSixLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7TUFDN0JBLEtBQUssR0FBR0csTUFBTSxDQUFDSCxLQUFLLENBQUM7SUFDdkI7SUFFQSxJQUFJSyxLQUFLLENBQUNMLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSU0sU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsSUFBSU4sS0FBSyxHQUFHLENBQUMsVUFBVSxJQUFJQSxLQUFLLEdBQUcsVUFBVSxFQUFFO01BQzdDLE1BQU0sSUFBSU0sU0FBUyxDQUFDLDhEQUE4RCxDQUFDO0lBQ3JGO0lBRUEsT0FBT04sS0FBSyxHQUFHLENBQUM7RUFDbEI7QUFDRixDQUFDO0FBQUMsSUFBQU8sUUFBQSxHQUFBQyxPQUFBLENBQUF2QixPQUFBLEdBRWFNLEdBQUc7QUFDbEJrQixNQUFNLENBQUNELE9BQU8sR0FBR2pCLEdBQUciLCJpZ25vcmVMaXN0IjpbXX0=