diff --git a/addons/addon-image/src/IIPHandler.ts b/addons/addon-image/src/IIPHandler.ts index 17ab4c4a..c0d28c00 100644 --- a/addons/addon-image/src/IIPHandler.ts +++ b/addons/addon-image/src/IIPHandler.ts @@ -5,14 +5,16 @@ import { IImageAddonOptions, IOscHandler, IResetHandler, ITerminalExt } from './Types'; import { ImageRenderer } from './ImageRenderer'; import { ImageStorage, CELL_SIZE_DEFAULT } from './ImageStorage'; -import Base64Decoder from 'xterm-wasm-parts/lib/base64/Base64Decoder.wasm'; +import Base64Decoder, { type DecodeStatus } from 'xterm-wasm-parts/lib/base64/Base64Decoder.wasm'; import { HeaderParser, IHeaderFields, HeaderState } from './IIPHeaderParser'; import { imageType, UNSUPPORTED_TYPE } from './IIPMetrics'; // limit hold memory in base64 decoder (encoded bytes) const KEEP_DATA = 4194304; const INITIAL_DATA = 1048576; -const DECODER_SUCCESS = 0; + +// Local mirror of const enum (esbuild can't inline const enums from external packages) +const DECODER_OK: DecodeStatus.OK = 0; // default IIP header values const DEFAULT_HEADER: IHeaderFields = { @@ -56,7 +58,7 @@ export class IIPHandler implements IOscHandler, IResetHandler { if (this._aborted) return; if (this._hp.state === HeaderState.END) { - if (this._dec.put(data.subarray(start, end)) !== DECODER_SUCCESS) { + if (this._dec.put(data.subarray(start, end)) !== DECODER_OK) { this._dec.release(); this._aborted = true; } @@ -73,7 +75,7 @@ export class IIPHandler implements IOscHandler, IResetHandler { return; } this._dec.init(); - if (this._dec.put(data.subarray(dataPos, end)) !== DECODER_SUCCESS) { + if (this._dec.put(data.subarray(dataPos, end)) !== DECODER_OK) { this._dec.release(); this._aborted = true; } diff --git a/addons/addon-image/src/kitty/KittyGraphicsHandler.ts b/addons/addon-image/src/kitty/KittyGraphicsHandler.ts index 2c2c4baf..01bb84c6 100644 --- a/addons/addon-image/src/kitty/KittyGraphicsHandler.ts +++ b/addons/addon-image/src/kitty/KittyGraphicsHandler.ts @@ -6,7 +6,7 @@ import { IApcHandler, IImageAddonOptions, IResetHandler, ITerminalExt } from '../Types'; import { ImageRenderer } from '../ImageRenderer'; import { ImageStorage, CELL_SIZE_DEFAULT } from '../ImageStorage'; -import Base64Decoder from 'xterm-wasm-parts/lib/base64/Base64Decoder.wasm'; +import Base64Decoder, { type DecodeStatus } from 'xterm-wasm-parts/lib/base64/Base64Decoder.wasm'; import { KittyAction, KittyFormat, @@ -23,7 +23,9 @@ import { // Memory limit for base64 decoder (4MB, same as IIPHandler) const DECODER_KEEP_DATA = 4194304; const DECODER_INITIAL_DATA = 4194304; // 4MB -const DECODER_SUCCESS = 0; + +// Local mirror of const enum (esbuild can't inline const enums from external packages) +const DECODER_OK: DecodeStatus.OK = 0; // Maximum control data size const MAX_CONTROL_DATA_SIZE = 512; @@ -191,7 +193,7 @@ export class KittyGraphicsHandler implements IApcHandler, IResetHandler { this._activeDecoder.init(); } - if (this._activeDecoder.put(data.subarray(start, end)) !== DECODER_SUCCESS) { + if (this._activeDecoder.put(data.subarray(start, end)) !== DECODER_OK) { this._activeDecoder.release(); this._activeDecoder = null; this._decodeError = true; @@ -258,7 +260,7 @@ export class KittyGraphicsHandler implements IApcHandler, IResetHandler { let imageBytes = new Uint8Array(0); if (decoder) { - if (decoder.end() !== DECODER_SUCCESS) { + if (decoder.end() !== DECODER_OK) { decodeError = true; } imageBytes = decoder.data8;