UNPKG

tedious

Version:

A TDS driver, for connecting to MS SQLServer databases.

45 lines (44 loc) • 4.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _moneyn = _interopRequireDefault(require("./moneyn")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const TYPE_INFO = Buffer.from([_moneyn.default.id, 0x04]); const SmallMoney = { id: 0x7A, type: 'MONEY4', name: 'SmallMoney', declaration: function () { return 'smallmoney'; }, writeTypeInfo(buffer) { buffer.writeBuffer(TYPE_INFO); }, writeValue(buffer, parameter) { const value = parameter.value; if (value == null) { buffer.writeUInt8(0x00); return; } buffer.writeUInt8(0x04); buffer.writeInt32LE(value * 10000); }, validate: function (value) { if (value == null) { return null; } value = parseFloat(value); if (isNaN(value)) { throw new TypeError('Invalid number.'); } if (value < -214748.3648 || value > 214748.3647) { throw new TypeError('Value must be between -214748.3648 and 214748.3647.'); } return value; } }; var _default = exports.default = SmallMoney; module.exports = SmallMoney; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9uZXluIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJUWVBFX0lORk8iLCJCdWZmZXIiLCJmcm9tIiwiTW9uZXlOIiwiaWQiLCJTbWFsbE1vbmV5IiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsIndyaXRlVHlwZUluZm8iLCJidWZmZXIiLCJ3cml0ZUJ1ZmZlciIsIndyaXRlVmFsdWUiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsIndyaXRlVUludDgiLCJ3cml0ZUludDMyTEUiLCJ2YWxpZGF0ZSIsInBhcnNlRmxvYXQiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL3NtYWxsbW9uZXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4uL2RhdGEtdHlwZSc7XG5pbXBvcnQgTW9uZXlOIGZyb20gJy4vbW9uZXluJztcblxuY29uc3QgVFlQRV9JTkZPID0gQnVmZmVyLmZyb20oW01vbmV5Ti5pZCwgMHgwNF0pO1xuXG5jb25zdCBTbWFsbE1vbmV5OiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4N0EsXG4gIHR5cGU6ICdNT05FWTQnLFxuICBuYW1lOiAnU21hbGxNb25leScsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc21hbGxtb25leSc7XG4gIH0sXG5cbiAgd3JpdGVUeXBlSW5mbyhidWZmZXIpIHtcbiAgICBidWZmZXIud3JpdGVCdWZmZXIoVFlQRV9JTkZPKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgbnVtYmVyIHwgbnVsbDtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgYnVmZmVyLndyaXRlVUludDgoMHgwMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYnVmZmVyLndyaXRlVUludDgoMHgwNCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRSh2YWx1ZSAqIDEwMDAwKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBudW1iZXIuJyk7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA8IC0yMTQ3NDguMzY0OCB8fCB2YWx1ZSA+IDIxNDc0OC4zNjQ3KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdWYWx1ZSBtdXN0IGJlIGJldHdlZW4gLTIxNDc0OC4zNjQ4IGFuZCAyMTQ3NDguMzY0Ny4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTbWFsbE1vbmV5O1xubW9kdWxlLmV4cG9ydHMgPSBTbWFsbE1vbmV5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOEIsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFOUIsTUFBTUcsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQyxlQUFNLENBQUNDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVoRCxNQUFNQyxVQUFvQixHQUFHO0VBQzNCRCxFQUFFLEVBQUUsSUFBSTtFQUNSRSxJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUUsWUFBWTtFQUVsQkMsV0FBVyxFQUFFLFNBQUFBLENBQUEsRUFBVztJQUN0QixPQUFPLFlBQVk7RUFDckIsQ0FBQztFQUVEQyxhQUFhQSxDQUFDQyxNQUFNLEVBQUU7SUFDcEJBLE1BQU0sQ0FBQ0MsV0FBVyxDQUFDWCxTQUFTLENBQUM7RUFDL0IsQ0FBQztFQUVEWSxVQUFVQSxDQUFDRixNQUFNLEVBQUVHLFNBQVMsRUFBRTtJQUM1QixNQUFNQyxLQUFLLEdBQUdELFNBQVMsQ0FBQ0MsS0FBc0I7SUFDOUMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQkosTUFBTSxDQUFDSyxVQUFVLENBQUMsSUFBSSxDQUFDO01BQ3ZCO0lBQ0Y7SUFFQUwsTUFBTSxDQUFDSyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ3ZCTCxNQUFNLENBQUNNLFlBQVksQ0FBQ0YsS0FBSyxHQUFHLEtBQUssQ0FBQztFQUNwQyxDQUFDO0VBRURHLFFBQVEsRUFBRSxTQUFBQSxDQUFTSCxLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFDQUEsS0FBSyxHQUFHSSxVQUFVLENBQUNKLEtBQUssQ0FBQztJQUN6QixJQUFJSyxLQUFLLENBQUNMLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE1BQU0sSUFBSU0sU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDO0lBQ0EsSUFBSU4sS0FBSyxHQUFHLENBQUMsV0FBVyxJQUFJQSxLQUFLLEdBQUcsV0FBVyxFQUFFO01BQy9DLE1BQU0sSUFBSU0sU0FBUyxDQUFDLHFEQUFxRCxDQUFDO0lBQzVFO0lBQ0EsT0FBT04sS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUFDLElBQUFPLFFBQUEsR0FBQUMsT0FBQSxDQUFBdkIsT0FBQSxHQUVhTSxVQUFVO0FBQ3pCa0IsTUFBTSxDQUFDRCxPQUFPLEdBQUdqQixVQUFVIiwiaWdub3JlTGlzdCI6W119