@xterm/addon-image 0.9.0-beta.99 → 0.10.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/addon-image.js +1 -1
- package/lib/addon-image.js.map +1 -1
- package/lib/addon-image.mjs.map +1 -1
- package/package.json +5 -5
- package/lib/addon-image.js.LICENSE.txt +0 -24
- package/out/IIPHandler.js +0 -148
- package/out/IIPHandler.js.map +0 -1
- package/out/IIPHeaderParser.js +0 -156
- package/out/IIPHeaderParser.js.map +0 -1
- package/out/IIPHeaderParser.test.js +0 -137
- package/out/IIPHeaderParser.test.js.map +0 -1
- package/out/IIPMetrics.js +0 -69
- package/out/IIPMetrics.js.map +0 -1
- package/out/IIPMetrics.test.js +0 -39
- package/out/IIPMetrics.test.js.map +0 -1
- package/out/ImageAddon.js +0 -261
- package/out/ImageAddon.js.map +0 -1
- package/out/ImageRenderer.js +0 -330
- package/out/ImageRenderer.js.map +0 -1
- package/out/ImageStorage.js +0 -563
- package/out/ImageStorage.js.map +0 -1
- package/out/SixelHandler.js +0 -140
- package/out/SixelHandler.js.map +0 -1
- package/out/Types.js +0 -7
- package/out/Types.js.map +0 -1
- package/src/IIPHeaderParser.test.ts +0 -138
- package/src/IIPMetrics.test.ts +0 -44
package/out/IIPHandler.js
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IIPHandler = void 0;
|
|
4
|
-
const ImageRenderer_1 = require("./ImageRenderer");
|
|
5
|
-
const ImageStorage_1 = require("./ImageStorage");
|
|
6
|
-
const Base64Decoder_wasm_1 = require("xterm-wasm-parts/lib/base64/Base64Decoder.wasm");
|
|
7
|
-
const IIPHeaderParser_1 = require("./IIPHeaderParser");
|
|
8
|
-
const IIPMetrics_1 = require("./IIPMetrics");
|
|
9
|
-
// limit hold memory in base64 decoder
|
|
10
|
-
const KEEP_DATA = 4194304;
|
|
11
|
-
// default IIP header values
|
|
12
|
-
const DEFAULT_HEADER = {
|
|
13
|
-
name: 'Unnamed file',
|
|
14
|
-
size: 0,
|
|
15
|
-
width: 'auto',
|
|
16
|
-
height: 'auto',
|
|
17
|
-
preserveAspectRatio: 1,
|
|
18
|
-
inline: 0
|
|
19
|
-
};
|
|
20
|
-
class IIPHandler {
|
|
21
|
-
constructor(_opts, _renderer, _storage, _coreTerminal) {
|
|
22
|
-
this._opts = _opts;
|
|
23
|
-
this._renderer = _renderer;
|
|
24
|
-
this._storage = _storage;
|
|
25
|
-
this._coreTerminal = _coreTerminal;
|
|
26
|
-
this._aborted = false;
|
|
27
|
-
this._hp = new IIPHeaderParser_1.HeaderParser();
|
|
28
|
-
this._header = DEFAULT_HEADER;
|
|
29
|
-
this._dec = new Base64Decoder_wasm_1.default(KEEP_DATA);
|
|
30
|
-
this._metrics = IIPMetrics_1.UNSUPPORTED_TYPE;
|
|
31
|
-
}
|
|
32
|
-
reset() { }
|
|
33
|
-
start() {
|
|
34
|
-
this._aborted = false;
|
|
35
|
-
this._header = DEFAULT_HEADER;
|
|
36
|
-
this._metrics = IIPMetrics_1.UNSUPPORTED_TYPE;
|
|
37
|
-
this._hp.reset();
|
|
38
|
-
}
|
|
39
|
-
put(data, start, end) {
|
|
40
|
-
if (this._aborted)
|
|
41
|
-
return;
|
|
42
|
-
if (this._hp.state === 4 /* HeaderState.END */) {
|
|
43
|
-
if (this._dec.put(data, start, end)) {
|
|
44
|
-
this._dec.release();
|
|
45
|
-
this._aborted = true;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
const dataPos = this._hp.parse(data, start, end);
|
|
50
|
-
if (dataPos === -1) {
|
|
51
|
-
this._aborted = true;
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
if (dataPos > 0) {
|
|
55
|
-
this._header = Object.assign({}, DEFAULT_HEADER, this._hp.fields);
|
|
56
|
-
if (!this._header.inline || !this._header.size || this._header.size > this._opts.iipSizeLimit) {
|
|
57
|
-
this._aborted = true;
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this._dec.init(this._header.size);
|
|
61
|
-
if (this._dec.put(data, dataPos, end)) {
|
|
62
|
-
this._dec.release();
|
|
63
|
-
this._aborted = true;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
end(success) {
|
|
69
|
-
if (this._aborted)
|
|
70
|
-
return true;
|
|
71
|
-
let w = 0;
|
|
72
|
-
let h = 0;
|
|
73
|
-
// early exit condition chain
|
|
74
|
-
let cond = true;
|
|
75
|
-
if (cond = success) {
|
|
76
|
-
if (cond = !this._dec.end()) {
|
|
77
|
-
this._metrics = (0, IIPMetrics_1.imageType)(this._dec.data8);
|
|
78
|
-
if (cond = this._metrics.mime !== 'unsupported') {
|
|
79
|
-
w = this._metrics.width;
|
|
80
|
-
h = this._metrics.height;
|
|
81
|
-
if (cond = w && h && w * h < this._opts.pixelLimit) {
|
|
82
|
-
[w, h] = this._resize(w, h).map(Math.floor);
|
|
83
|
-
cond = w && h && w * h < this._opts.pixelLimit;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
if (!cond) {
|
|
89
|
-
this._dec.release();
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
const blob = new Blob([this._dec.data8], { type: this._metrics.mime });
|
|
93
|
-
this._dec.release();
|
|
94
|
-
if (!window.createImageBitmap) {
|
|
95
|
-
const url = URL.createObjectURL(blob);
|
|
96
|
-
const img = new Image();
|
|
97
|
-
return new Promise(r => {
|
|
98
|
-
img.addEventListener('load', () => {
|
|
99
|
-
var _a;
|
|
100
|
-
URL.revokeObjectURL(url);
|
|
101
|
-
const canvas = ImageRenderer_1.ImageRenderer.createCanvas(window.document, w, h);
|
|
102
|
-
(_a = canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.drawImage(img, 0, 0, w, h);
|
|
103
|
-
this._storage.addImage(canvas);
|
|
104
|
-
r(true);
|
|
105
|
-
});
|
|
106
|
-
img.src = url;
|
|
107
|
-
// sanity measure to avoid terminal blocking from dangling promise
|
|
108
|
-
// happens from corrupt data (onload never gets fired)
|
|
109
|
-
setTimeout(() => r(true), 1000);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
return createImageBitmap(blob, { resizeWidth: w, resizeHeight: h })
|
|
113
|
-
.then(bm => {
|
|
114
|
-
this._storage.addImage(bm);
|
|
115
|
-
return true;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
_resize(w, h) {
|
|
119
|
-
var _a, _b, _c, _d;
|
|
120
|
-
const cw = ((_a = this._renderer.dimensions) === null || _a === void 0 ? void 0 : _a.css.cell.width) || ImageStorage_1.CELL_SIZE_DEFAULT.width;
|
|
121
|
-
const ch = ((_b = this._renderer.dimensions) === null || _b === void 0 ? void 0 : _b.css.cell.height) || ImageStorage_1.CELL_SIZE_DEFAULT.height;
|
|
122
|
-
const width = ((_c = this._renderer.dimensions) === null || _c === void 0 ? void 0 : _c.css.canvas.width) || cw * this._coreTerminal.cols;
|
|
123
|
-
const height = ((_d = this._renderer.dimensions) === null || _d === void 0 ? void 0 : _d.css.canvas.height) || ch * this._coreTerminal.rows;
|
|
124
|
-
const rw = this._dim(this._header.width, width, cw);
|
|
125
|
-
const rh = this._dim(this._header.height, height, ch);
|
|
126
|
-
if (!rw && !rh) {
|
|
127
|
-
const wf = width / w; // TODO: should this respect initial cursor offset?
|
|
128
|
-
const hf = (height - ch) / h; // TODO: fix offset issues from float cell height
|
|
129
|
-
const f = Math.min(wf, hf);
|
|
130
|
-
return f < 1 ? [w * f, h * f] : [w, h];
|
|
131
|
-
}
|
|
132
|
-
return !rw
|
|
133
|
-
? [w * rh / h, rh]
|
|
134
|
-
: this._header.preserveAspectRatio || !rw || !rh
|
|
135
|
-
? [rw, h * rw / w] : [rw, rh];
|
|
136
|
-
}
|
|
137
|
-
_dim(s, total, cdim) {
|
|
138
|
-
if (s === 'auto')
|
|
139
|
-
return 0;
|
|
140
|
-
if (s.endsWith('%'))
|
|
141
|
-
return parseInt(s.slice(0, -1)) * total / 100;
|
|
142
|
-
if (s.endsWith('px'))
|
|
143
|
-
return parseInt(s.slice(0, -2));
|
|
144
|
-
return parseInt(s) * cdim;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
exports.IIPHandler = IIPHandler;
|
|
148
|
-
//# sourceMappingURL=IIPHandler.js.map
|
package/out/IIPHandler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IIPHandler.js","sourceRoot":"","sources":["../src/IIPHandler.ts"],"names":[],"mappings":"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"}
|
package/out/IIPHeaderParser.js
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2023 The xterm.js authors. All rights reserved.
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.HeaderParser = void 0;
|
|
8
|
-
// field value decoders
|
|
9
|
-
// ASCII bytes to string
|
|
10
|
-
function toStr(data) {
|
|
11
|
-
let s = '';
|
|
12
|
-
for (let i = 0; i < data.length; ++i) {
|
|
13
|
-
s += String.fromCharCode(data[i]);
|
|
14
|
-
}
|
|
15
|
-
return s;
|
|
16
|
-
}
|
|
17
|
-
// digits to integer
|
|
18
|
-
function toInt(data) {
|
|
19
|
-
let v = 0;
|
|
20
|
-
for (let i = 0; i < data.length; ++i) {
|
|
21
|
-
if (data[i] < 48 || data[i] > 57) {
|
|
22
|
-
throw new Error('illegal char');
|
|
23
|
-
}
|
|
24
|
-
v = v * 10 + data[i] - 48;
|
|
25
|
-
}
|
|
26
|
-
return v;
|
|
27
|
-
}
|
|
28
|
-
// check for correct size entry
|
|
29
|
-
function toSize(data) {
|
|
30
|
-
const v = toStr(data);
|
|
31
|
-
if (!v.match(/^((auto)|(\d+?((px)|(%)){0,1}))$/)) {
|
|
32
|
-
throw new Error('illegal size');
|
|
33
|
-
}
|
|
34
|
-
return v;
|
|
35
|
-
}
|
|
36
|
-
// name is base64 encoded utf-8
|
|
37
|
-
function toName(data) {
|
|
38
|
-
if (typeof Buffer !== 'undefined') {
|
|
39
|
-
return Buffer.from(toStr(data), 'base64').toString();
|
|
40
|
-
}
|
|
41
|
-
const bs = atob(toStr(data));
|
|
42
|
-
const b = new Uint8Array(bs.length);
|
|
43
|
-
for (let i = 0; i < b.length; ++i) {
|
|
44
|
-
b[i] = bs.charCodeAt(i);
|
|
45
|
-
}
|
|
46
|
-
return new TextDecoder().decode(b);
|
|
47
|
-
}
|
|
48
|
-
const DECODERS = {
|
|
49
|
-
inline: toInt,
|
|
50
|
-
size: toInt,
|
|
51
|
-
name: toName,
|
|
52
|
-
width: toSize,
|
|
53
|
-
height: toSize,
|
|
54
|
-
preserveAspectRatio: toInt
|
|
55
|
-
};
|
|
56
|
-
const FILE_MARKER = [70, 105, 108, 101];
|
|
57
|
-
const MAX_FIELDCHARS = 1024;
|
|
58
|
-
class HeaderParser {
|
|
59
|
-
constructor() {
|
|
60
|
-
this.state = 0 /* HeaderState.START */;
|
|
61
|
-
this._buffer = new Uint32Array(MAX_FIELDCHARS);
|
|
62
|
-
this._position = 0;
|
|
63
|
-
this._key = '';
|
|
64
|
-
this.fields = {};
|
|
65
|
-
}
|
|
66
|
-
reset() {
|
|
67
|
-
this._buffer.fill(0);
|
|
68
|
-
this.state = 0 /* HeaderState.START */;
|
|
69
|
-
this._position = 0;
|
|
70
|
-
this.fields = {};
|
|
71
|
-
this._key = '';
|
|
72
|
-
}
|
|
73
|
-
parse(data, start, end) {
|
|
74
|
-
let state = this.state;
|
|
75
|
-
let pos = this._position;
|
|
76
|
-
const buffer = this._buffer;
|
|
77
|
-
if (state === 1 /* HeaderState.ABORT */ || state === 4 /* HeaderState.END */)
|
|
78
|
-
return -1;
|
|
79
|
-
if (state === 0 /* HeaderState.START */ && pos > 6)
|
|
80
|
-
return -1;
|
|
81
|
-
for (let i = start; i < end; ++i) {
|
|
82
|
-
const c = data[i];
|
|
83
|
-
switch (c) {
|
|
84
|
-
case 59: // ;
|
|
85
|
-
if (!this._storeValue(pos))
|
|
86
|
-
return this._a();
|
|
87
|
-
state = 2 /* HeaderState.KEY */;
|
|
88
|
-
pos = 0;
|
|
89
|
-
break;
|
|
90
|
-
case 61: // =
|
|
91
|
-
if (state === 0 /* HeaderState.START */) {
|
|
92
|
-
for (let k = 0; k < FILE_MARKER.length; ++k) {
|
|
93
|
-
if (buffer[k] !== FILE_MARKER[k])
|
|
94
|
-
return this._a();
|
|
95
|
-
}
|
|
96
|
-
state = 2 /* HeaderState.KEY */;
|
|
97
|
-
pos = 0;
|
|
98
|
-
}
|
|
99
|
-
else if (state === 2 /* HeaderState.KEY */) {
|
|
100
|
-
if (!this._storeKey(pos))
|
|
101
|
-
return this._a();
|
|
102
|
-
state = 3 /* HeaderState.VALUE */;
|
|
103
|
-
pos = 0;
|
|
104
|
-
}
|
|
105
|
-
else if (state === 3 /* HeaderState.VALUE */) {
|
|
106
|
-
if (pos >= MAX_FIELDCHARS)
|
|
107
|
-
return this._a();
|
|
108
|
-
buffer[pos++] = c;
|
|
109
|
-
}
|
|
110
|
-
break;
|
|
111
|
-
case 58: // :
|
|
112
|
-
if (state === 3 /* HeaderState.VALUE */) {
|
|
113
|
-
if (!this._storeValue(pos))
|
|
114
|
-
return this._a();
|
|
115
|
-
}
|
|
116
|
-
this.state = 4 /* HeaderState.END */;
|
|
117
|
-
return i + 1;
|
|
118
|
-
default:
|
|
119
|
-
if (pos >= MAX_FIELDCHARS)
|
|
120
|
-
return this._a();
|
|
121
|
-
buffer[pos++] = c;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
this.state = state;
|
|
125
|
-
this._position = pos;
|
|
126
|
-
return -2;
|
|
127
|
-
}
|
|
128
|
-
_a() {
|
|
129
|
-
this.state = 1 /* HeaderState.ABORT */;
|
|
130
|
-
return -1;
|
|
131
|
-
}
|
|
132
|
-
_storeKey(pos) {
|
|
133
|
-
const k = toStr(this._buffer.subarray(0, pos));
|
|
134
|
-
if (k) {
|
|
135
|
-
this._key = k;
|
|
136
|
-
this.fields[k] = null;
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
_storeValue(pos) {
|
|
142
|
-
if (this._key) {
|
|
143
|
-
try {
|
|
144
|
-
const v = this._buffer.slice(0, pos);
|
|
145
|
-
this.fields[this._key] = DECODERS[this._key] ? DECODERS[this._key](v) : v;
|
|
146
|
-
}
|
|
147
|
-
catch (e) {
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
exports.HeaderParser = HeaderParser;
|
|
156
|
-
//# sourceMappingURL=IIPHeaderParser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IIPHeaderParser.js","sourceRoot":"","sources":["../src/IIPHeaderParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2023 The xterm.js authors. All rights reserved.
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const chai_1 = require("chai");
|
|
8
|
-
const IIPHeaderParser_1 = require("./IIPHeaderParser");
|
|
9
|
-
const CASES = [
|
|
10
|
-
['File=size=123456;name=dGVzdA==:', { name: 'test', size: 123456 }],
|
|
11
|
-
['File=size=123456;name=dGVzdA:', { name: 'test', size: 123456 }],
|
|
12
|
-
// utf-8 encoding in name
|
|
13
|
-
['File=size=123456;name=w7xtbMOkdXTDnw==:', { name: 'ümläutß', size: 123456 }],
|
|
14
|
-
['File=size=123456;name=w7xtbMOkdXTDnw:', { name: 'ümläutß', size: 123456 }],
|
|
15
|
-
// full header spec
|
|
16
|
-
[
|
|
17
|
-
'File=inline=1;width=10px;height=20%;preserveAspectRatio=1;size=123456;name=w7xtbMOkdXTDnw:',
|
|
18
|
-
{
|
|
19
|
-
inline: 1,
|
|
20
|
-
width: '10px',
|
|
21
|
-
height: '20%',
|
|
22
|
-
preserveAspectRatio: 1,
|
|
23
|
-
size: 123456,
|
|
24
|
-
name: 'ümläutß'
|
|
25
|
-
}
|
|
26
|
-
],
|
|
27
|
-
[
|
|
28
|
-
'File=inline=1;width=auto;height=20;preserveAspectRatio=1;size=123456;name=w7xtbMOkdXTDnw:',
|
|
29
|
-
{
|
|
30
|
-
inline: 1,
|
|
31
|
-
width: 'auto',
|
|
32
|
-
height: '20',
|
|
33
|
-
preserveAspectRatio: 1,
|
|
34
|
-
size: 123456,
|
|
35
|
-
name: 'ümläutß'
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
];
|
|
39
|
-
function fromBs(bs) {
|
|
40
|
-
const r = new Uint32Array(bs.length);
|
|
41
|
-
for (let i = 0; i < r.length; ++i)
|
|
42
|
-
r[i] = bs.charCodeAt(i);
|
|
43
|
-
return r;
|
|
44
|
-
}
|
|
45
|
-
describe('IIPHeaderParser', () => {
|
|
46
|
-
it('at once', () => {
|
|
47
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
48
|
-
for (const example of CASES) {
|
|
49
|
-
hp.reset();
|
|
50
|
-
const inp = fromBs(example[0]);
|
|
51
|
-
const res = hp.parse(inp, 0, inp.length);
|
|
52
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
53
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
54
|
-
chai_1.assert.deepEqual(hp.fields, example[1]);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
it('bytewise', () => {
|
|
58
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
59
|
-
for (const example of CASES) {
|
|
60
|
-
hp.reset();
|
|
61
|
-
const inp = fromBs(example[0]);
|
|
62
|
-
let pos = 0;
|
|
63
|
-
let res = -2;
|
|
64
|
-
while (res === -2 && pos < inp.length) {
|
|
65
|
-
res = hp.parse(new Uint32Array([inp[pos++]]), 0, 1);
|
|
66
|
-
}
|
|
67
|
-
chai_1.assert.strictEqual(res, 1);
|
|
68
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
69
|
-
chai_1.assert.deepEqual(hp.fields, example[1]);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
it('no File= starter', () => {
|
|
73
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
74
|
-
let inp = fromBs('size=123456;name=dGVzdA==:');
|
|
75
|
-
let res = hp.parse(inp, 0, inp.length);
|
|
76
|
-
chai_1.assert.strictEqual(res, -1);
|
|
77
|
-
hp.reset();
|
|
78
|
-
inp = fromBs(CASES[0][0]);
|
|
79
|
-
res = hp.parse(inp, 0, inp.length);
|
|
80
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
81
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
82
|
-
chai_1.assert.deepEqual(hp.fields, CASES[0][1]);
|
|
83
|
-
});
|
|
84
|
-
it('empty key - error', () => {
|
|
85
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
86
|
-
let inp = fromBs('File=size=123456;=dGVzdA==:');
|
|
87
|
-
let res = hp.parse(inp, 0, inp.length);
|
|
88
|
-
chai_1.assert.strictEqual(res, -1);
|
|
89
|
-
hp.reset();
|
|
90
|
-
inp = fromBs(CASES[0][0]);
|
|
91
|
-
res = hp.parse(inp, 0, inp.length);
|
|
92
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
93
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
94
|
-
chai_1.assert.deepEqual(hp.fields, CASES[0][1]);
|
|
95
|
-
});
|
|
96
|
-
it('empty size value - set to 0', () => {
|
|
97
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
98
|
-
let inp = fromBs('File=size=;name=dGVzdA==:');
|
|
99
|
-
let res = hp.parse(inp, 0, inp.length);
|
|
100
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
101
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
102
|
-
chai_1.assert.deepEqual(hp.fields, { name: 'test', size: 0 });
|
|
103
|
-
hp.reset();
|
|
104
|
-
inp = fromBs(CASES[0][0]);
|
|
105
|
-
res = hp.parse(inp, 0, inp.length);
|
|
106
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
107
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
108
|
-
chai_1.assert.deepEqual(hp.fields, CASES[0][1]);
|
|
109
|
-
});
|
|
110
|
-
it('empty name value - set to empty string', () => {
|
|
111
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
112
|
-
let inp = fromBs('File=size=123456;name=:');
|
|
113
|
-
let res = hp.parse(inp, 0, inp.length);
|
|
114
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
115
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
116
|
-
chai_1.assert.deepEqual(hp.fields, { name: '', size: 123456 });
|
|
117
|
-
hp.reset();
|
|
118
|
-
inp = fromBs(CASES[0][0]);
|
|
119
|
-
res = hp.parse(inp, 0, inp.length);
|
|
120
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
121
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
122
|
-
chai_1.assert.deepEqual(hp.fields, CASES[0][1]);
|
|
123
|
-
});
|
|
124
|
-
it('empty size value - error', () => {
|
|
125
|
-
const hp = new IIPHeaderParser_1.HeaderParser();
|
|
126
|
-
let inp = fromBs('File=inline=1;width=;height=20%;preserveAspectRatio=1;size=123456;name=w7xtbMOkdXTDnw:');
|
|
127
|
-
let res = hp.parse(inp, 0, inp.length);
|
|
128
|
-
chai_1.assert.strictEqual(res, -1);
|
|
129
|
-
hp.reset();
|
|
130
|
-
inp = fromBs(CASES[0][0]);
|
|
131
|
-
res = hp.parse(inp, 0, inp.length);
|
|
132
|
-
chai_1.assert.strictEqual(res, inp.length);
|
|
133
|
-
chai_1.assert.strictEqual(hp.state, 4 /* HeaderState.END */);
|
|
134
|
-
chai_1.assert.deepEqual(hp.fields, CASES[0][1]);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
//# sourceMappingURL=IIPHeaderParser.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IIPHeaderParser.test.js","sourceRoot":"","sources":["../src/IIPHeaderParser.test.ts"],"names":[],"mappings":"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"}
|
package/out/IIPMetrics.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2023 The xterm.js authors. All rights reserved.
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.UNSUPPORTED_TYPE = void 0;
|
|
8
|
-
exports.imageType = imageType;
|
|
9
|
-
exports.UNSUPPORTED_TYPE = {
|
|
10
|
-
mime: 'unsupported',
|
|
11
|
-
width: 0,
|
|
12
|
-
height: 0
|
|
13
|
-
};
|
|
14
|
-
function imageType(d) {
|
|
15
|
-
if (d.length < 24) {
|
|
16
|
-
return exports.UNSUPPORTED_TYPE;
|
|
17
|
-
}
|
|
18
|
-
const d32 = new Uint32Array(d.buffer, d.byteOffset, 6);
|
|
19
|
-
// PNG: 89 50 4E 47 0D 0A 1A 0A (8 first bytes == magic number for PNG)
|
|
20
|
-
// + first chunk must be IHDR
|
|
21
|
-
if (d32[0] === 0x474E5089 && d32[1] === 0x0A1A0A0D && d32[3] === 0x52444849) {
|
|
22
|
-
return {
|
|
23
|
-
mime: 'image/png',
|
|
24
|
-
width: d[16] << 24 | d[17] << 16 | d[18] << 8 | d[19],
|
|
25
|
-
height: d[20] << 24 | d[21] << 16 | d[22] << 8 | d[23]
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
// JPEG: FF D8 FF
|
|
29
|
-
if (d[0] === 0xFF && d[1] === 0xD8 && d[2] === 0xFF) {
|
|
30
|
-
const [width, height] = jpgSize(d);
|
|
31
|
-
return { mime: 'image/jpeg', width, height };
|
|
32
|
-
}
|
|
33
|
-
// GIF: GIF87a or GIF89a
|
|
34
|
-
if (d32[0] === 0x38464947 && (d[4] === 0x37 || d[4] === 0x39) && d[5] === 0x61) {
|
|
35
|
-
return {
|
|
36
|
-
mime: 'image/gif',
|
|
37
|
-
width: d[7] << 8 | d[6],
|
|
38
|
-
height: d[9] << 8 | d[8]
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return exports.UNSUPPORTED_TYPE;
|
|
42
|
-
}
|
|
43
|
-
function jpgSize(d) {
|
|
44
|
-
const len = d.length;
|
|
45
|
-
let i = 4;
|
|
46
|
-
let blockLength = d[i] << 8 | d[i + 1];
|
|
47
|
-
while (true) {
|
|
48
|
-
i += blockLength;
|
|
49
|
-
if (i >= len) {
|
|
50
|
-
// exhausted without size info
|
|
51
|
-
return [0, 0];
|
|
52
|
-
}
|
|
53
|
-
if (d[i] !== 0xFF) {
|
|
54
|
-
return [0, 0];
|
|
55
|
-
}
|
|
56
|
-
if (d[i + 1] === 0xC0 || d[i + 1] === 0xC2) {
|
|
57
|
-
if (i + 8 < len) {
|
|
58
|
-
return [
|
|
59
|
-
d[i + 7] << 8 | d[i + 8],
|
|
60
|
-
d[i + 5] << 8 | d[i + 6]
|
|
61
|
-
];
|
|
62
|
-
}
|
|
63
|
-
return [0, 0];
|
|
64
|
-
}
|
|
65
|
-
i += 2;
|
|
66
|
-
blockLength = d[i] << 8 | d[i + 1];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=IIPMetrics.js.map
|
package/out/IIPMetrics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IIPMetrics.js","sourceRoot":"","sources":["../src/IIPMetrics.ts"],"names":[],"mappings":"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"}
|
package/out/IIPMetrics.test.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2023 The xterm.js authors. All rights reserved.
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const chai_1 = require("chai");
|
|
8
|
-
const IIPMetrics_1 = require("./IIPMetrics");
|
|
9
|
-
const fs = require('fs');
|
|
10
|
-
const TEST_IMAGES = [
|
|
11
|
-
['w3c_home_256.gif', { mime: 'image/gif', width: 72, height: 48 }],
|
|
12
|
-
['w3c_home_256.jpg', { mime: 'image/jpeg', width: 72, height: 48 }],
|
|
13
|
-
['w3c_home_256.png', { mime: 'image/png', width: 72, height: 48 }],
|
|
14
|
-
['w3c_home_2.gif', { mime: 'image/gif', width: 72, height: 48 }],
|
|
15
|
-
['w3c_home_2.jpg', { mime: 'image/jpeg', width: 72, height: 48 }],
|
|
16
|
-
['w3c_home_2.png', { mime: 'image/png', width: 72, height: 48 }],
|
|
17
|
-
['w3c_home_animation.gif', { mime: 'image/gif', width: 72, height: 48 }],
|
|
18
|
-
['w3c_home.gif', { mime: 'image/gif', width: 72, height: 48 }],
|
|
19
|
-
['w3c_home_gray.gif', { mime: 'image/gif', width: 72, height: 48 }],
|
|
20
|
-
['w3c_home_gray.jpg', { mime: 'image/jpeg', width: 72, height: 48 }],
|
|
21
|
-
['w3c_home_gray.png', { mime: 'image/png', width: 72, height: 48 }],
|
|
22
|
-
['w3c_home.jpg', { mime: 'image/jpeg', width: 72, height: 48 }],
|
|
23
|
-
['w3c_home.png', { mime: 'image/png', width: 72, height: 48 }],
|
|
24
|
-
['w3c_home_noexif.jpg', { mime: 'image/jpeg', width: 72, height: 48 }],
|
|
25
|
-
['spinfox.png', { mime: 'image/png', width: 148, height: 148 }],
|
|
26
|
-
['iphone_hdr_YES.jpg', { mime: 'image/jpeg', width: 3264, height: 2448 }],
|
|
27
|
-
['nikon-e950.jpg', { mime: 'image/jpeg', width: 800, height: 600 }],
|
|
28
|
-
['agfa-makernotes.jpg', { mime: 'image/jpeg', width: 8, height: 8 }],
|
|
29
|
-
['sony-alpha-6000.jpg', { mime: 'image/jpeg', width: 6000, height: 4000 }]
|
|
30
|
-
];
|
|
31
|
-
describe('IIPMetrics', () => {
|
|
32
|
-
it('bunch of testimages', () => {
|
|
33
|
-
for (let i = 0; i < TEST_IMAGES.length; ++i) {
|
|
34
|
-
const imageData = fs.readFileSync('./addons/addon-image/fixture/testimages/' + TEST_IMAGES[i][0]);
|
|
35
|
-
chai_1.assert.deepStrictEqual((0, IIPMetrics_1.imageType)(imageData), TEST_IMAGES[i][1]);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=IIPMetrics.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IIPMetrics.test.js","sourceRoot":"","sources":["../src/IIPMetrics.test.ts"],"names":[],"mappings":"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"}
|