@jsenv/terminal-recorder 1.4.10 → 1.4.14
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/package.json +3 -3
- package/src/.jsenv/chrome@130.00/@fs/Users/dam/Documents/dev/core/node_modules/@xterm/addon-serialize/lib/addon-serialize.mjs +749 -0
- package/src/.jsenv/{chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-serialize/lib/addon-serialize.mjs.map +11 -11
- package/src/.jsenv/{chrome@128.00 → chrome@130.00}/gif_encoder.js +1 -1
- package/src/.jsenv/{chrome@129.00 → chrome@130.00}/gif_encoder.js.map +2 -2
- package/src/.jsenv/{chrome@128.00 → chrome@130.00}/terminal_recorder.js +6 -6
- package/src/.jsenv/{chrome@129.00 → chrome@130.00}/terminal_recorder.js.map +2 -2
- package/src/.jsenv/{chrome@128.00 → chrome@130.00}/xterm.html +2 -2
- package/src/.jsenv/chrome@130.00/xterm.html@L19C5-L24C14.js +7 -0
- package/src/.jsenv/chrome@130.00/xterm.html@L19C5-L24C14.js.map +11 -0
- package/src/.jsenv/chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-serialize/lib/addon-serialize.mjs +0 -749
- package/src/.jsenv/chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-serialize/lib/addon-serialize.mjs.map +0 -477
- package/src/.jsenv/chrome@128.00/gif_encoder.js.map +0 -11
- package/src/.jsenv/chrome@128.00/terminal_recorder.js.map +0 -11
- package/src/.jsenv/chrome@128.00/xterm.html@L19C5-L24C14.js +0 -7
- package/src/.jsenv/chrome@128.00/xterm.html@L19C5-L24C14.js.map +0 -11
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-fit/lib/addon-fit.js +0 -2
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-fit/lib/addon-fit.js.map +0 -64
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-serialize/lib/addon-serialize.js +0 -2
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-serialize/lib/addon-serialize.js.map +0 -1
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-serialize/lib/addon-serialize.mjs +0 -749
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-webgl/lib/addon-webgl.js +0 -2
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/addon-webgl/lib/addon-webgl.js.map +0 -1
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/xterm/css/xterm.css +0 -204
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/xterm/lib/xterm.js +0 -2
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/node_modules/@xterm/xterm/lib/xterm.js.map +0 -1
- package/src/.jsenv/chrome@129.00/@fs/Users/damien.maillard/dev/perso/jsenv-core/packages/internal/plugin-supervisor/src/client/supervisor.js +0 -1342
- package/src/.jsenv/chrome@129.00/gif_encoder.js +0 -400
- package/src/.jsenv/chrome@129.00/lzw_encoder.js +0 -253
- package/src/.jsenv/chrome@129.00/neuquant.js +0 -498
- package/src/.jsenv/chrome@129.00/terminal_recorder.js +0 -389
- package/src/.jsenv/chrome@129.00/xterm.html +0 -46
- package/src/.jsenv/chrome@129.00/xterm.html@L14C5-L18C14.js +0 -5
- package/src/.jsenv/chrome@129.00/xterm.html@L19C5-L24C14.js +0 -7
- package/src/.jsenv/chrome@129.00/xterm.html@L19C5-L24C14.js.map +0 -11
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-fit/lib/addon-fit.js +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-fit/lib/addon-fit.js.map +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-serialize/lib/addon-serialize.js +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-serialize/lib/addon-serialize.js.map +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-webgl/lib/addon-webgl.js +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/addon-webgl/lib/addon-webgl.js.map +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/xterm/css/xterm.css +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/xterm/lib/xterm.js +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/node_modules/@xterm/xterm/lib/xterm.js.map +0 -0
- /package/src/.jsenv/{chrome@128.00/@fs/Users/damien.maillard/dev/perso/jsenv-core → chrome@130.00/@fs/Users/dam/Documents/dev/core}/packages/internal/plugin-supervisor/src/client/supervisor.js +0 -0
- /package/src/.jsenv/{chrome@128.00 → chrome@130.00}/lzw_encoder.js +0 -0
- /package/src/.jsenv/{chrome@128.00 → chrome@130.00}/neuquant.js +0 -0
- /package/src/.jsenv/{chrome@128.00 → chrome@130.00}/xterm.html@L14C5-L18C14.js +0 -0
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
export const createLzwEncoder = ({ width, height, pixels, colorDepth }) => {
|
|
2
|
-
var EOF = -1;
|
|
3
|
-
var imgW;
|
|
4
|
-
var imgH;
|
|
5
|
-
var pixAry;
|
|
6
|
-
var initCodeSize;
|
|
7
|
-
var remaining;
|
|
8
|
-
var curPixel;
|
|
9
|
-
|
|
10
|
-
// GIFCOMPR.C - GIF Image compression routines
|
|
11
|
-
// Lempel-Ziv compression based on 'compress'. GIF modifications by
|
|
12
|
-
// David Rowley (mgardi@watdcsu.waterloo.edu)
|
|
13
|
-
// General DEFINEs
|
|
14
|
-
|
|
15
|
-
var BITS = 12;
|
|
16
|
-
var HSIZE = 5003; // 80% occupancy
|
|
17
|
-
|
|
18
|
-
// GIF Image compression - modified 'compress'
|
|
19
|
-
// Based on: compress.c - File compression ala IEEE Computer, June 1984.
|
|
20
|
-
// By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
|
|
21
|
-
// Jim McKie (decvax!mcvax!jim)
|
|
22
|
-
// Steve Davies (decvax!vax135!petsd!peora!srd)
|
|
23
|
-
// Ken Turkowski (decvax!decwrl!turtlevax!ken)
|
|
24
|
-
// James A. Woods (decvax!ihnp4!ames!jaw)
|
|
25
|
-
// Joe Orost (decvax!vax135!petsd!joe)
|
|
26
|
-
|
|
27
|
-
var n_bits; // number of bits/code
|
|
28
|
-
var maxbits = BITS; // user settable max # bits/code
|
|
29
|
-
var maxcode; // maximum code, given n_bits
|
|
30
|
-
var maxmaxcode = 1 << BITS; // should NEVER generate this code
|
|
31
|
-
var htab = [];
|
|
32
|
-
var codetab = [];
|
|
33
|
-
var hsize = HSIZE; // for dynamic table sizing
|
|
34
|
-
var free_ent = 0; // first unused entry
|
|
35
|
-
|
|
36
|
-
// block compression parameters -- after all codes are used up,
|
|
37
|
-
// and compression rate changes, start over.
|
|
38
|
-
|
|
39
|
-
var clear_flg = false;
|
|
40
|
-
|
|
41
|
-
// Algorithm: use open addressing double hashing (no chaining) on the
|
|
42
|
-
// prefix code / next character combination. We do a variant of Knuth's
|
|
43
|
-
// algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
|
|
44
|
-
// secondary probe. Here, the modular division first probe is gives way
|
|
45
|
-
// to a faster exclusive-or manipulation. Also do block compression with
|
|
46
|
-
// an adaptive reset, whereby the code table is cleared when the compression
|
|
47
|
-
// ratio decreases, but after the table fills. The variable-length output
|
|
48
|
-
// codes are re-sized at this point, and a special CLEAR code is generated
|
|
49
|
-
// for the decompressor. Late addition: construct the table according to
|
|
50
|
-
// file size for noticeable speed improvement on small files. Please direct
|
|
51
|
-
// questions about this implementation to ames!jaw.
|
|
52
|
-
|
|
53
|
-
var g_init_bits;
|
|
54
|
-
var ClearCode;
|
|
55
|
-
var EOFCode;
|
|
56
|
-
|
|
57
|
-
// output
|
|
58
|
-
// Output the given code.
|
|
59
|
-
// Inputs:
|
|
60
|
-
// code: A n_bits-bit integer. If == -1, then EOF. This assumes
|
|
61
|
-
// that n_bits =< wordsize - 1.
|
|
62
|
-
// Outputs:
|
|
63
|
-
// Outputs code to the file.
|
|
64
|
-
// Assumptions:
|
|
65
|
-
// Chars are 8 bits long.
|
|
66
|
-
// Algorithm:
|
|
67
|
-
// Maintain a BITS character long buffer (so that 8 codes will
|
|
68
|
-
// fit in it exactly). Use the VAX insv instruction to insert each
|
|
69
|
-
// code in turn. When the buffer fills up empty it and start over.
|
|
70
|
-
|
|
71
|
-
var cur_accum = 0;
|
|
72
|
-
var cur_bits = 0;
|
|
73
|
-
var masks = [
|
|
74
|
-
0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
|
|
75
|
-
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff,
|
|
76
|
-
];
|
|
77
|
-
|
|
78
|
-
// Number of characters so far in this 'packet'
|
|
79
|
-
var a_count;
|
|
80
|
-
|
|
81
|
-
// Define the storage for the packet accumulator
|
|
82
|
-
var accum = [];
|
|
83
|
-
|
|
84
|
-
imgW = width;
|
|
85
|
-
imgH = height;
|
|
86
|
-
pixAry = pixels;
|
|
87
|
-
initCodeSize = Math.max(2, colorDepth);
|
|
88
|
-
|
|
89
|
-
// Add a character to the end of the current packet, and if it is 254
|
|
90
|
-
// characters, flush the packet to disk.
|
|
91
|
-
const char_out = (c, outs) => {
|
|
92
|
-
accum[a_count++] = c;
|
|
93
|
-
if (a_count >= 254) flush_char(outs);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
// Clear out the hash table
|
|
97
|
-
// table clear for block compress
|
|
98
|
-
const cl_block = (outs) => {
|
|
99
|
-
cl_hash(hsize);
|
|
100
|
-
free_ent = ClearCode + 2;
|
|
101
|
-
clear_flg = true;
|
|
102
|
-
output(ClearCode, outs);
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// reset code table
|
|
106
|
-
const cl_hash = (hsize) => {
|
|
107
|
-
for (var i = 0; i < hsize; ++i) htab[i] = -1;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
// Flush the packet to disk, and reset the accumulator
|
|
111
|
-
const flush_char = (outs) => {
|
|
112
|
-
if (a_count > 0) {
|
|
113
|
-
outs.writeByte(a_count);
|
|
114
|
-
outs.writeBytes(accum, 0, a_count);
|
|
115
|
-
a_count = 0;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
const MAXCODE = (n_bits) => {
|
|
120
|
-
return (1 << n_bits) - 1;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
// ----------------------------------------------------------------------------
|
|
124
|
-
// Return the next pixel from the image
|
|
125
|
-
// ----------------------------------------------------------------------------
|
|
126
|
-
|
|
127
|
-
const nextPixel = () => {
|
|
128
|
-
if (remaining === 0) return EOF;
|
|
129
|
-
--remaining;
|
|
130
|
-
var pix = pixAry[curPixel++];
|
|
131
|
-
return pix & 0xff;
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
const output = (code, outs) => {
|
|
135
|
-
cur_accum &= masks[cur_bits];
|
|
136
|
-
|
|
137
|
-
if (cur_bits > 0) cur_accum |= code << cur_bits;
|
|
138
|
-
else cur_accum = code;
|
|
139
|
-
|
|
140
|
-
cur_bits += n_bits;
|
|
141
|
-
|
|
142
|
-
while (cur_bits >= 8) {
|
|
143
|
-
char_out(cur_accum & 0xff, outs);
|
|
144
|
-
cur_accum >>= 8;
|
|
145
|
-
cur_bits -= 8;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// If the next entry is going to be too big for the code size,
|
|
149
|
-
// then increase it, if possible.
|
|
150
|
-
|
|
151
|
-
if (free_ent > maxcode || clear_flg) {
|
|
152
|
-
if (clear_flg) {
|
|
153
|
-
maxcode = MAXCODE((n_bits = g_init_bits));
|
|
154
|
-
clear_flg = false;
|
|
155
|
-
} else {
|
|
156
|
-
++n_bits;
|
|
157
|
-
if (n_bits === maxbits) maxcode = maxmaxcode;
|
|
158
|
-
else maxcode = MAXCODE(n_bits);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
if (code === EOFCode) {
|
|
163
|
-
// At EOF, write the rest of the buffer.
|
|
164
|
-
while (cur_bits > 0) {
|
|
165
|
-
char_out(cur_accum & 0xff, outs);
|
|
166
|
-
cur_accum >>= 8;
|
|
167
|
-
cur_bits -= 8;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
flush_char(outs);
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
const lzwencoder = {
|
|
175
|
-
compress: (init_bits, outs) => {
|
|
176
|
-
var fcode;
|
|
177
|
-
var i; /* = 0 */
|
|
178
|
-
var c;
|
|
179
|
-
var ent;
|
|
180
|
-
var disp;
|
|
181
|
-
var hsize_reg;
|
|
182
|
-
var hshift;
|
|
183
|
-
|
|
184
|
-
// Set up the globals: g_init_bits - initial number of bits
|
|
185
|
-
g_init_bits = init_bits;
|
|
186
|
-
|
|
187
|
-
// Set up the necessary values
|
|
188
|
-
clear_flg = false;
|
|
189
|
-
n_bits = g_init_bits;
|
|
190
|
-
maxcode = MAXCODE(n_bits);
|
|
191
|
-
|
|
192
|
-
ClearCode = 1 << (init_bits - 1);
|
|
193
|
-
EOFCode = ClearCode + 1;
|
|
194
|
-
free_ent = ClearCode + 2;
|
|
195
|
-
|
|
196
|
-
a_count = 0; // clear packet
|
|
197
|
-
|
|
198
|
-
ent = nextPixel();
|
|
199
|
-
|
|
200
|
-
hshift = 0;
|
|
201
|
-
for (fcode = hsize; fcode < 65536; fcode *= 2) ++hshift;
|
|
202
|
-
hshift = 8 - hshift; // set hash code range bound
|
|
203
|
-
|
|
204
|
-
hsize_reg = hsize;
|
|
205
|
-
cl_hash(hsize_reg); // clear hash table
|
|
206
|
-
|
|
207
|
-
output(ClearCode, outs);
|
|
208
|
-
|
|
209
|
-
outer_loop: while ((c = nextPixel()) !== EOF) {
|
|
210
|
-
fcode = (c << maxbits) + ent;
|
|
211
|
-
i = (c << hshift) ^ ent; // xor hashing
|
|
212
|
-
|
|
213
|
-
if (htab[i] === fcode) {
|
|
214
|
-
ent = codetab[i];
|
|
215
|
-
continue;
|
|
216
|
-
} else if (htab[i] >= 0) {
|
|
217
|
-
// non-empty slot
|
|
218
|
-
|
|
219
|
-
disp = hsize_reg - i; // secondary hash (after G. Knott)
|
|
220
|
-
if (i === 0) disp = 1;
|
|
221
|
-
|
|
222
|
-
do {
|
|
223
|
-
if ((i -= disp) < 0) i += hsize_reg;
|
|
224
|
-
|
|
225
|
-
if (htab[i] === fcode) {
|
|
226
|
-
ent = codetab[i];
|
|
227
|
-
continue outer_loop;
|
|
228
|
-
}
|
|
229
|
-
} while (htab[i] >= 0);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
output(ent, outs);
|
|
233
|
-
ent = c;
|
|
234
|
-
if (free_ent < maxmaxcode) {
|
|
235
|
-
codetab[i] = free_ent++; // code -> hashtable
|
|
236
|
-
htab[i] = fcode;
|
|
237
|
-
} else cl_block(outs);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
// Put out the final code.
|
|
241
|
-
output(ent, outs);
|
|
242
|
-
output(EOFCode, outs);
|
|
243
|
-
},
|
|
244
|
-
encode: (os) => {
|
|
245
|
-
os.writeByte(initCodeSize); // write "initial code size" byte
|
|
246
|
-
remaining = imgW * imgH; // reset navigation variables
|
|
247
|
-
curPixel = 0;
|
|
248
|
-
lzwencoder.compress(initCodeSize + 1, os); // compress and write the pixel data
|
|
249
|
-
os.writeByte(0); // write block terminator
|
|
250
|
-
},
|
|
251
|
-
};
|
|
252
|
-
return lzwencoder;
|
|
253
|
-
};
|