UNPKG

5.69 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7const NULL_LENGTH = Buffer.from([0xFF, 0xFF, 0xFF, 0xFF]);
8const Image = {
9 id: 0x22,
10 type: 'IMAGE',
11 name: 'Image',
12 hasTableName: true,
13 declaration: function () {
14 return 'image';
15 },
16 resolveLength: function (parameter) {
17 if (parameter.value != null) {
18 const value = parameter.value; // TODO: Temporary solution. Replace 'any' more with specific type;
19 return value.length;
20 } else {
21 return -1;
22 }
23 },
24 generateTypeInfo(parameter) {
25 const buffer = Buffer.alloc(5);
26 buffer.writeUInt8(this.id, 0);
27 buffer.writeInt32LE(parameter.length, 1);
28 return buffer;
29 },
30 generateParameterLength(parameter, options) {
31 if (parameter.value == null) {
32 return NULL_LENGTH;
33 }
34 const buffer = Buffer.alloc(4);
35 buffer.writeInt32LE(parameter.value.length, 0);
36 return buffer;
37 },
38 *generateParameterData(parameter, options) {
39 if (parameter.value == null) {
40 return;
41 }
42 yield parameter.value;
43 },
44 validate: function (value) {
45 if (value == null) {
46 return null;
47 }
48 if (!Buffer.isBuffer(value)) {
49 throw new TypeError('Invalid buffer.');
50 }
51 return value;
52 }
53};
54var _default = exports.default = Image;
55module.exports = Image;
56//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVUxMX0xFTkdUSCIsIkJ1ZmZlciIsImZyb20iLCJJbWFnZSIsImlkIiwidHlwZSIsIm5hbWUiLCJoYXNUYWJsZU5hbWUiLCJkZWNsYXJhdGlvbiIsInJlc29sdmVMZW5ndGgiLCJwYXJhbWV0ZXIiLCJ2YWx1ZSIsImxlbmd0aCIsImdlbmVyYXRlVHlwZUluZm8iLCJidWZmZXIiLCJhbGxvYyIsIndyaXRlVUludDgiLCJ3cml0ZUludDMyTEUiLCJnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aCIsIm9wdGlvbnMiLCJnZW5lcmF0ZVBhcmFtZXRlckRhdGEiLCJ2YWxpZGF0ZSIsImlzQnVmZmVyIiwiVHlwZUVycm9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhLXR5cGVzL2ltYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0YVR5cGUgfSBmcm9tICcuLi9kYXRhLXR5cGUnO1xuXG5jb25zdCBOVUxMX0xFTkdUSCA9IEJ1ZmZlci5mcm9tKFsweEZGLCAweEZGLCAweEZGLCAweEZGXSk7XG5cbmNvbnN0IEltYWdlOiBEYXRhVHlwZSA9IHtcbiAgaWQ6IDB4MjIsXG4gIHR5cGU6ICdJTUFHRScsXG4gIG5hbWU6ICdJbWFnZScsXG4gIGhhc1RhYmxlTmFtZTogdHJ1ZSxcblxuICBkZWNsYXJhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdpbWFnZSc7XG4gIH0sXG5cbiAgcmVzb2x2ZUxlbmd0aDogZnVuY3Rpb24ocGFyYW1ldGVyKSB7XG4gICAgaWYgKHBhcmFtZXRlci52YWx1ZSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtZXRlci52YWx1ZSBhcyBhbnk7IC8vIFRPRE86IFRlbXBvcmFyeSBzb2x1dGlvbi4gUmVwbGFjZSAnYW55JyBtb3JlIHdpdGggc3BlY2lmaWMgdHlwZTtcbiAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH0sXG5cbiAgZ2VuZXJhdGVUeXBlSW5mbyhwYXJhbWV0ZXIpIHtcbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNSk7XG4gICAgYnVmZmVyLndyaXRlVUludDgodGhpcy5pZCwgMCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIubGVuZ3RoISwgMSk7XG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICBnZW5lcmF0ZVBhcmFtZXRlckxlbmd0aChwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBOVUxMX0xFTkdUSDtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2MoNCk7XG4gICAgYnVmZmVyLndyaXRlSW50MzJMRShwYXJhbWV0ZXIudmFsdWUubGVuZ3RoISwgMCk7XG4gICAgcmV0dXJuIGJ1ZmZlcjtcbiAgfSxcblxuICAqIGdlbmVyYXRlUGFyYW1ldGVyRGF0YShwYXJhbWV0ZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAocGFyYW1ldGVyLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB5aWVsZCBwYXJhbWV0ZXIudmFsdWU7XG4gIH0sXG5cbiAgdmFsaWRhdGU6IGZ1bmN0aW9uKHZhbHVlKTogbnVsbCB8IEJ1ZmZlciB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgYnVmZmVyLicpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlO1xubW9kdWxlLmV4cG9ydHMgPSBJbWFnZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsTUFBTUEsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRXpELE1BQU1DLEtBQWUsR0FBRztFQUN0QkMsRUFBRSxFQUFFLElBQUk7RUFDUkMsSUFBSSxFQUFFLE9BQU87RUFDYkMsSUFBSSxFQUFFLE9BQU87RUFDYkMsWUFBWSxFQUFFLElBQUk7RUFFbEJDLFdBQVcsRUFBRSxTQUFBQSxDQUFBLEVBQVc7SUFDdEIsT0FBTyxPQUFPO0VBQ2hCLENBQUM7RUFFREMsYUFBYSxFQUFFLFNBQUFBLENBQVNDLFNBQVMsRUFBRTtJQUNqQyxJQUFJQSxTQUFTLENBQUNDLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0IsTUFBTUEsS0FBSyxHQUFHRCxTQUFTLENBQUNDLEtBQVksQ0FBQyxDQUFDO01BQ3RDLE9BQU9BLEtBQUssQ0FBQ0MsTUFBTTtJQUNyQixDQUFDLE1BQU07TUFDTCxPQUFPLENBQUMsQ0FBQztJQUNYO0VBQ0YsQ0FBQztFQUVEQyxnQkFBZ0JBLENBQUNILFNBQVMsRUFBRTtJQUMxQixNQUFNSSxNQUFNLEdBQUdiLE1BQU0sQ0FBQ2MsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRSxVQUFVLENBQUMsSUFBSSxDQUFDWixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdCVSxNQUFNLENBQUNHLFlBQVksQ0FBQ1AsU0FBUyxDQUFDRSxNQUFNLEVBQUcsQ0FBQyxDQUFDO0lBQ3pDLE9BQU9FLE1BQU07RUFDZixDQUFDO0VBRURJLHVCQUF1QkEsQ0FBQ1IsU0FBUyxFQUFFUyxPQUFPLEVBQUU7SUFDMUMsSUFBSVQsU0FBUyxDQUFDQyxLQUFLLElBQUksSUFBSSxFQUFFO01BQzNCLE9BQU9YLFdBQVc7SUFDcEI7SUFFQSxNQUFNYyxNQUFNLEdBQUdiLE1BQU0sQ0FBQ2MsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QkQsTUFBTSxDQUFDRyxZQUFZLENBQUNQLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDQyxNQUFNLEVBQUcsQ0FBQyxDQUFDO0lBQy9DLE9BQU9FLE1BQU07RUFDZixDQUFDO0VBRUQsQ0FBRU0scUJBQXFCQSxDQUFDVixTQUFTLEVBQUVTLE9BQU8sRUFBRTtJQUMxQyxJQUFJVCxTQUFTLENBQUNDLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDM0I7SUFDRjtJQUVBLE1BQU1ELFNBQVMsQ0FBQ0MsS0FBSztFQUN2QixDQUFDO0VBRURVLFFBQVEsRUFBRSxTQUFBQSxDQUFTVixLQUFLLEVBQWlCO0lBQ3ZDLElBQUlBLEtBQUssSUFBSSxJQUFJLEVBQUU7TUFDakIsT0FBTyxJQUFJO0lBQ2I7SUFDQSxJQUFJLENBQUNWLE1BQU0sQ0FBQ3FCLFFBQVEsQ0FBQ1gsS0FBSyxDQUFDLEVBQUU7TUFDM0IsTUFBTSxJQUFJWSxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDeEM7SUFDQSxPQUFPWixLQUFLO0VBQ2Q7QUFDRixDQUFDO0FBQUMsSUFBQWEsUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYXZCLEtBQUs7QUFDcEJ3QixNQUFNLENBQUNGLE9BQU8sR0FBR3RCLEtBQUsifQ==
\No newline at end of file