UNPKG

tedious

Version:

A TDS driver, for connecting to MS SQLServer databases.

52 lines (51 loc) • 5.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _temporal = require("./temporal"); const Time = { id: 0x29, type: 'TIMEN', name: 'Time', declaration: function (parameter) { return 'time(' + this.resolveScale(parameter) + ')'; }, resolveScale: function (parameter) { if (parameter.scale != null) { return parameter.scale; } else if (parameter.value === null) { return 0; } else { return 7; } }, writeTypeInfo(buffer, parameter) { buffer.writeUInt8(this.id); buffer.writeUInt8(parameter.scale); }, writeValue(buffer, parameter, options) { const value = parameter.value; if (value == null) { buffer.writeUInt8(0x00); return; } buffer.writeUInt8((0, _temporal.timeLength)(parameter.scale)); (0, _temporal.writeTimeOfDay)(buffer, value, parameter.scale, options.useUTC); }, validate: function (value) { if (value == null) { return null; } if (!(value instanceof Date)) { value = new Date(Date.parse(value)); } if (isNaN(value)) { throw new TypeError('Invalid time.'); } return value; } }; var _default = exports.default = Time; module.exports = Time; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVtcG9yYWwiLCJyZXF1aXJlIiwiVGltZSIsImlkIiwidHlwZSIsIm5hbWUiLCJkZWNsYXJhdGlvbiIsInBhcmFtZXRlciIsInJlc29sdmVTY2FsZSIsInNjYWxlIiwidmFsdWUiLCJ3cml0ZVR5cGVJbmZvIiwiYnVmZmVyIiwid3JpdGVVSW50OCIsIndyaXRlVmFsdWUiLCJvcHRpb25zIiwidGltZUxlbmd0aCIsIndyaXRlVGltZU9mRGF5IiwidXNlVVRDIiwidmFsaWRhdGUiLCJEYXRlIiwicGFyc2UiLCJpc05hTiIsIlR5cGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJtb2R1bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS10eXBlcy90aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuaW1wb3J0IHsgdGltZUxlbmd0aCwgd3JpdGVUaW1lT2ZEYXksIHR5cGUgVGVtcG9yYWxWYWx1ZSB9IGZyb20gJy4vdGVtcG9yYWwnO1xuXG5jb25zdCBUaW1lOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MjksXG4gIHR5cGU6ICdUSU1FTicsXG4gIG5hbWU6ICdUaW1lJyxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgcmV0dXJuICd0aW1lKCcgKyAodGhpcy5yZXNvbHZlU2NhbGUhKHBhcmFtZXRlcikpICsgJyknO1xuICB9LFxuXG4gIHJlc29sdmVTY2FsZTogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci5zY2FsZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gcGFyYW1ldGVyLnNjYWxlO1xuICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDc7XG4gICAgfVxuICB9LFxuXG4gIHdyaXRlVHlwZUluZm8oYnVmZmVyLCBwYXJhbWV0ZXIpIHtcbiAgICBidWZmZXIud3JpdGVVSW50OCh0aGlzLmlkKTtcbiAgICBidWZmZXIud3JpdGVVSW50OChwYXJhbWV0ZXIuc2NhbGUhKTtcbiAgfSxcblxuICB3cml0ZVZhbHVlKGJ1ZmZlciwgcGFyYW1ldGVyLCBvcHRpb25zKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXIudmFsdWUgYXMgVGVtcG9yYWxWYWx1ZSB8IG51bGw7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIGJ1ZmZlci53cml0ZVVJbnQ4KDB4MDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGJ1ZmZlci53cml0ZVVJbnQ4KHRpbWVMZW5ndGgocGFyYW1ldGVyLnNjYWxlKSk7XG4gICAgd3JpdGVUaW1lT2ZEYXkoYnVmZmVyLCB2YWx1ZSwgcGFyYW1ldGVyLnNjYWxlISwgb3B0aW9ucy51c2VVVEMpO1xuICB9LFxuXG4gIHZhbGlkYXRlOiBmdW5jdGlvbih2YWx1ZSk6IG51bGwgfCBudW1iZXIgfCBEYXRlIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgdmFsdWUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCB0aW1lLicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGltZTtcbm1vZHVsZS5leHBvcnRzID0gVGltZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBRUEsTUFBTUMsSUFBYyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsTUFBTTtFQUVaQyxXQUFXLEVBQUUsU0FBQUEsQ0FBU0MsU0FBUyxFQUFFO0lBQy9CLE9BQU8sT0FBTyxHQUFJLElBQUksQ0FBQ0MsWUFBWSxDQUFFRCxTQUFTLENBQUUsR0FBRyxHQUFHO0VBQ3hELENBQUM7RUFFREMsWUFBWSxFQUFFLFNBQUFBLENBQVNELFNBQVMsRUFBRTtJQUNoQyxJQUFJQSxTQUFTLENBQUNFLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0IsT0FBT0YsU0FBUyxDQUFDRSxLQUFLO0lBQ3hCLENBQUMsTUFBTSxJQUFJRixTQUFTLENBQUNHLEtBQUssS0FBSyxJQUFJLEVBQUU7TUFDbkMsT0FBTyxDQUFDO0lBQ1YsQ0FBQyxNQUFNO01BQ0wsT0FBTyxDQUFDO0lBQ1Y7RUFDRixDQUFDO0VBRURDLGFBQWFBLENBQUNDLE1BQU0sRUFBRUwsU0FBUyxFQUFFO0lBQy9CSyxNQUFNLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUNWLEVBQUUsQ0FBQztJQUMxQlMsTUFBTSxDQUFDQyxVQUFVLENBQUNOLFNBQVMsQ0FBQ0UsS0FBTSxDQUFDO0VBQ3JDLENBQUM7RUFFREssVUFBVUEsQ0FBQ0YsTUFBTSxFQUFFTCxTQUFTLEVBQUVRLE9BQU8sRUFBRTtJQUNyQyxNQUFNTCxLQUFLLEdBQUdILFNBQVMsQ0FBQ0csS0FBNkI7SUFDckQsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQkUsTUFBTSxDQUFDQyxVQUFVLENBQUMsSUFBSSxDQUFDO01BQ3ZCO0lBQ0Y7SUFFQUQsTUFBTSxDQUFDQyxVQUFVLENBQUMsSUFBQUcsb0JBQVUsRUFBQ1QsU0FBUyxDQUFDRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFBUSx3QkFBYyxFQUFDTCxNQUFNLEVBQUVGLEtBQUssRUFBRUgsU0FBUyxDQUFDRSxLQUFLLEVBQUdNLE9BQU8sQ0FBQ0csTUFBTSxDQUFDO0VBQ2pFLENBQUM7RUFFREMsUUFBUSxFQUFFLFNBQUFBLENBQVNULEtBQUssRUFBd0I7SUFDOUMsSUFBSUEsS0FBSyxJQUFJLElBQUksRUFBRTtNQUNqQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksRUFBRUEsS0FBSyxZQUFZVSxJQUFJLENBQUMsRUFBRTtNQUM1QlYsS0FBSyxHQUFHLElBQUlVLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxLQUFLLENBQUNYLEtBQUssQ0FBQyxDQUFDO0lBQ3JDO0lBRUEsSUFBSVksS0FBSyxDQUFDWixLQUFLLENBQUMsRUFBRTtNQUNoQixNQUFNLElBQUlhLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFDdEM7SUFFQSxPQUFPYixLQUFLO0VBQ2Q7QUFDRixDQUFDO0FBQUMsSUFBQWMsUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYXhCLElBQUk7QUFDbkJ5QixNQUFNLENBQUNGLE9BQU8sR0FBR3ZCLElBQUkiLCJpZ25vcmVMaXN0IjpbXX0=