UNPKG

tedious

Version:

A TDS driver, for connecting to MS SQLServer databases.

49 lines (48 loc) • 4.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; const NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]); const Image = { id: 0x22, type: 'IMAGE', name: 'Image', hasTableName: true, declaration: function () { return 'image'; }, resolveLength: function (parameter) { if (parameter.value != null) { const value = parameter.value; // TODO: Temporary solution. Replace 'any' more with specific type; return value.length; } else { return -1; } }, writeTypeInfo(buffer, parameter) { buffer.writeUInt8(this.id); buffer.writeInt32LE(parameter.length); }, writeValue(buffer, parameter) { const value = parameter.value; if (value == null) { buffer.writeBuffer(NULL_LENGTH); return; } buffer.writeInt32LE(value.length); buffer.writeBuffer(value); }, validate: function (value) { if (value == null) { return null; } if (!Buffer.isBuffer(value)) { throw new TypeError('Invalid buffer.'); } return value; } }; var _default = exports.default = Image; module.exports = Image; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJJbWFnZSIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsIndyaXRlVHlwZUluZm8iLCJidWZmZXIiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVJbnQzMkxFIiwid3JpdGVWYWx1ZSIsIndyaXRlQnVmZmVyIiwidmFsaWRhdGUiLCJpc0J1ZmZlciIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy9pbWFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERhdGFUeXBlIH0gZnJvbSAnLi4vZGF0YS10eXBlJztcblxuY29uc3QgTlVMTF9MRU5HVEggPSBCdWZmZXIuZnJvbShbMHhGRiwgMHhGRiwgMHhGRiwgMHhGRl0pO1xuXG5jb25zdCBJbWFnZTogRGF0YVR5cGUgPSB7XG4gIGlkOiAweDIyLFxuICB0eXBlOiAnSU1BR0UnLFxuICBuYW1lOiAnSW1hZ2UnLFxuICBoYXNUYWJsZU5hbWU6IHRydWUsXG5cbiAgZGVjbGFyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnaW1hZ2UnO1xuICB9LFxuXG4gIHJlc29sdmVMZW5ndGg6IGZ1bmN0aW9uKHBhcmFtZXRlcikge1xuICAgIGlmIChwYXJhbWV0ZXIudmFsdWUgIT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgYW55OyAvLyBUT0RPOiBUZW1wb3Jhcnkgc29sdXRpb24uIFJlcGxhY2UgJ2FueScgbW9yZSB3aXRoIHNwZWNpZmljIHR5cGU7XG4gICAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9LFxuXG4gIHdyaXRlVHlwZUluZm8oYnVmZmVyLCBwYXJhbWV0ZXIpIHtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkKTtcbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKHBhcmFtZXRlci5sZW5ndGghKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgQnVmZmVyIHwgbnVsbDtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgYnVmZmVyLndyaXRlQnVmZmVyKE5VTExfTEVOR1RIKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBidWZmZXIud3JpdGVJbnQzMkxFKHZhbHVlLmxlbmd0aCk7XG4gICAgYnVmZmVyLndyaXRlQnVmZmVyKHZhbHVlKTtcbiAgfSxcblxuICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpOiBudWxsIHwgQnVmZmVyIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBidWZmZXIuJyk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2U7XG5tb2R1bGUuZXhwb3J0cyA9IEltYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxNQUFNQSxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFekQsTUFBTUMsS0FBZSxHQUFHO0VBQ3RCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxZQUFZLEVBQUUsSUFBSTtFQUVsQkMsV0FBVyxFQUFFLFNBQUFBLENBQUEsRUFBVztJQUN0QixPQUFPLE9BQU87RUFDaEIsQ0FBQztFQUVEQyxhQUFhLEVBQUUsU0FBQUEsQ0FBU0MsU0FBUyxFQUFFO0lBQ2pDLElBQUlBLFNBQVMsQ0FBQ0MsS0FBSyxJQUFJLElBQUksRUFBRTtNQUMzQixNQUFNQSxLQUFLLEdBQUdELFNBQVMsQ0FBQ0MsS0FBWSxDQUFDLENBQUM7TUFDdEMsT0FBT0EsS0FBSyxDQUFDQyxNQUFNO0lBQ3JCLENBQUMsTUFBTTtNQUNMLE9BQU8sQ0FBQyxDQUFDO0lBQ1g7RUFDRixDQUFDO0VBRURDLGFBQWFBLENBQUNDLE1BQU0sRUFBRUosU0FBUyxFQUFFO0lBQy9CSSxNQUFNLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNYLEVBQUUsQ0FBQztJQUMxQlUsTUFBTSxDQUFDRSxZQUFZLENBQUNOLFNBQVMsQ0FBQ0UsTUFBTyxDQUFDO0VBQ3hDLENBQUM7RUFFREssVUFBVUEsQ0FBQ0gsTUFBTSxFQUFFSixTQUFTLEVBQUU7SUFDNUIsTUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQXNCO0lBQzlDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakJHLE1BQU0sQ0FBQ0ksV0FBVyxDQUFDbEIsV0FBVyxDQUFDO01BQy9CO0lBQ0Y7SUFFQWMsTUFBTSxDQUFDRSxZQUFZLENBQUNMLEtBQUssQ0FBQ0MsTUFBTSxDQUFDO0lBQ2pDRSxNQUFNLENBQUNJLFdBQVcsQ0FBQ1AsS0FBSyxDQUFDO0VBQzNCLENBQUM7RUFFRFEsUUFBUSxFQUFFLFNBQUFBLENBQVNSLEtBQUssRUFBaUI7SUFDdkMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUNBLElBQUksQ0FBQ1YsTUFBTSxDQUFDbUIsUUFBUSxDQUFDVCxLQUFLLENBQUMsRUFBRTtNQUMzQixNQUFNLElBQUlVLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QztJQUNBLE9BQU9WLEtBQUs7RUFDZDtBQUNGLENBQUM7QUFBQyxJQUFBVyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVhckIsS0FBSztBQUNwQnNCLE1BQU0sQ0FBQ0YsT0FBTyxHQUFHcEIsS0FBSyIsImlnbm9yZUxpc3QiOltdfQ==