1
0
Fork 0
mirror of https://github.com/codedread/bitjs synced 2025-10-03 17:49:16 +02:00

Remove Jpeg parse event boilerplate

This commit is contained in:
Jeff Schiller 2024-01-19 11:56:46 -08:00
parent c3a7b35fd5
commit 17c58ec416
6 changed files with 52 additions and 168 deletions

View file

@ -10,6 +10,7 @@
import { ByteStream } from '../../io/bytestream.js'; import { ByteStream } from '../../io/bytestream.js';
import { getExifProfile } from './exif.js'; import { getExifProfile } from './exif.js';
import { createEvent } from './parsers.js';
/** @typedef {import('./exif.js').ExifValue} ExifValue */ /** @typedef {import('./exif.js').ExifValue} ExifValue */
@ -73,15 +74,6 @@ export const JpegDensityUnits = {
* @property {Uint8Array} thumbnailData RGB data. Size is 3 x thumbnailWidth x thumbnailHeight. * @property {Uint8Array} thumbnailData RGB data. Size is 3 x thumbnailWidth x thumbnailHeight.
*/ */
export class JpegApp0MarkerEvent extends Event {
/** @param {JpegApp0Marker} */
constructor(segment) {
super(JpegParseEventType.APP0_MARKER);
/** @type {JpegApp0Marker} */
this.app0Marker = segment;
}
}
/** @enum {number} */ /** @enum {number} */
export const JpegExtensionThumbnailFormat = { export const JpegExtensionThumbnailFormat = {
JPEG: 0x10, JPEG: 0x10,
@ -95,23 +87,7 @@ export const JpegExtensionThumbnailFormat = {
* @property {Uint8Array} thumbnailData Raw thumbnail data * @property {Uint8Array} thumbnailData Raw thumbnail data
*/ */
export class JpegApp0ExtensionEvent extends Event { /** @typedef {Map<number, ExifValue>} JpegExifProfile */
/** @param {JpegApp0Extension} */
constructor(segment) {
super(JpegParseEventType.APP0_EXTENSION);
/** @type {JpegApp0Extension} */
this.app0Extension = segment;
}
}
export class JpegApp1ExifEvent extends Event {
/** @param {Map<number, ExifValue>} exifValueMap */
constructor(exifValueMap) {
super(JpegParseEventType.APP1_EXIF);
/** @type {Map<number, ExifValue>} */
this.exifValueMap = exifValueMap;
}
}
/** /**
* @typedef JpegDefineQuantizationTable * @typedef JpegDefineQuantizationTable
@ -120,15 +96,6 @@ export class JpegApp1ExifEvent extends Event {
* @property {number[]} tableValues 64 numbers representing the quantization table. * @property {number[]} tableValues 64 numbers representing the quantization table.
*/ */
export class JpegDefineQuantizationTableEvent extends Event {
/** @param {JpegDefineQuantizationTable} table */
constructor(table) {
super(JpegParseEventType.DEFINE_QUANTIZATION_TABLE);
/** @type {JpegDefineQuantizationTable} */
this.quantizationTable = table;
}
}
/** @enum {number} */ /** @enum {number} */
export const JpegHuffmanTableType = { export const JpegHuffmanTableType = {
DC: 0, DC: 0,
@ -143,15 +110,6 @@ export const JpegHuffmanTableType = {
* @property {number[]} symbols * @property {number[]} symbols
*/ */
export class JpegDefineHuffmanTableEvent extends Event {
/** @param {JpegDefineHuffmanTable} table */
constructor(table) {
super(JpegParseEventType.DEFINE_HUFFMAN_TABLE);
/** @type {JpegDefineHuffmanTable} */
this.huffmanTable = table;
}
}
/** @enum {number} */ /** @enum {number} */
export const JpegDctType = { export const JpegDctType = {
BASELINE: 0, BASELINE: 0,
@ -186,15 +144,6 @@ export const JpegComponentType = {
* @property {JpegComponentDetail[]} componentDetails * @property {JpegComponentDetail[]} componentDetails
*/ */
export class JpegStartOfFrameEvent extends Event {
/** @param {JpegStartOfFrame} sof */
constructor(sof) {
super(JpegParseEventType.START_OF_FRAME);
/** @type {JpegStartOfFrame} */
this.startOfFrame = sof;
}
}
/** /**
* @typedef JpegStartOfScan * @typedef JpegStartOfScan
* @property {number} componentsInScan * @property {number} componentsInScan
@ -238,8 +187,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegApp0MarkerEvent. * Type-safe way to bind a listener for a JpegApp0Marker.
* @param {function(JpegApp0MarkerEvent): void} listener * @param {function(CustomEvent<JpegApp0Marker>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onApp0Marker(listener) { onApp0Marker(listener) {
@ -248,8 +197,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegApp0ExtensionEvent. * Type-safe way to bind a listener for a JpegApp0Extension.
* @param {function(JpegApp0MarkerEvent): void} listener * @param {function(CustomEvent<JpegApp0Extension>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onApp0Extension(listener) { onApp0Extension(listener) {
@ -258,8 +207,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegApp1ExifEvent. * Type-safe way to bind a listener for a JpegExifProfile.
* @param {function(JpegApp1ExifEvent): void} listener * @param {function(CustomEvent<JpegExifProfile>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onApp1Exif(listener) { onApp1Exif(listener) {
@ -268,8 +217,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegDefineQuantizationTableEvent. * Type-safe way to bind a listener for a JpegDefineQuantizationTable.
* @param {function(JpegDefineQuantizationTableEvent): void} listener * @param {function(CustomEvent<JpegDefineQuantizationTable>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onDefineQuantizationTable(listener) { onDefineQuantizationTable(listener) {
@ -278,8 +227,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegDefineHuffmanTableEvent. * Type-safe way to bind a listener for a JpegDefineHuffmanTable.
* @param {function(JpegDefineHuffmanTableEvent): void} listener * @param {function(CustomEvent<JpegDefineHuffmanTable>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onDefineHuffmanTable(listener) { onDefineHuffmanTable(listener) {
@ -288,8 +237,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegStartOfFrameEvent. * Type-safe way to bind a listener for a JpegStartOfFrame.
* @param {function(JpegStartOfFrameEvent): void} listener * @param {function(CustomEvent<JpegStartOfFrame>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onStartOfFrame(listener) { onStartOfFrame(listener) {
@ -298,8 +247,8 @@ export class JpegParser extends EventTarget {
} }
/** /**
* Type-safe way to bind a listener for a JpegStartOfScanEvent. * Type-safe way to bind a listener for a JpegStartOfScan.
* @param {function(JpegStartOfScanEvent): void} listener * @param {function(CustomEvent<JpegStartOfScan>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onStartOfScan(listener) { onStartOfScan(listener) {
@ -345,7 +294,7 @@ export class JpegParser extends EventTarget {
yThumbnail, yThumbnail,
thumbnailData: this.bstream.readBytes(3 * xThumbnail * yThumbnail), thumbnailData: this.bstream.readBytes(3 * xThumbnail * yThumbnail),
}; };
this.dispatchEvent(new JpegApp0MarkerEvent(app0MarkerSegment)); this.dispatchEvent(createEvent(JpegParseEventType.APP0_MARKER, app0MarkerSegment));
} }
else if (identifier === 'JFXX') { else if (identifier === 'JFXX') {
if (!this.hasApp0MarkerSegment) throw `JFXX found without JFIF`; if (!this.hasApp0MarkerSegment) throw `JFXX found without JFIF`;
@ -364,7 +313,7 @@ export class JpegParser extends EventTarget {
thumbnailFormat, thumbnailFormat,
thumbnailData, thumbnailData,
}; };
this.dispatchEvent(new JpegApp0ExtensionEvent(app0ExtensionSegment)); this.dispatchEvent(createEvent(JpegParseEventType.APP0_EXTENSION, app0ExtensionSegment));
} }
else { else {
throw `Bad APP0 identifier: ${identifier}`; throw `Bad APP0 identifier: ${identifier}`;
@ -387,7 +336,7 @@ export class JpegParser extends EventTarget {
if (this.bstream.readNumber(2) !== 0) throw `No null byte termination`; if (this.bstream.readNumber(2) !== 0) throw `No null byte termination`;
const exifValueMap = getExifProfile(this.bstream); const exifValueMap = getExifProfile(this.bstream);
this.dispatchEvent(new JpegApp1ExifEvent(exifValueMap)); this.dispatchEvent(createEvent(JpegParseEventType.APP1_EXIF, exifValueMap));
this.bstream = skipAheadStream; this.bstream = skipAheadStream;
} // End of APP1 } // End of APP1
@ -418,7 +367,7 @@ export class JpegParser extends EventTarget {
precision, precision,
tableValues, tableValues,
}; };
this.dispatchEvent(new JpegDefineQuantizationTableEvent(table)); this.dispatchEvent(createEvent(JpegParseEventType.DEFINE_QUANTIZATION_TABLE, table));
ptr += (1 + valSize * 64); ptr += (1 + valSize * 64);
} }
@ -452,7 +401,7 @@ export class JpegParser extends EventTarget {
numberOfSymbols, numberOfSymbols,
symbols, symbols,
}; };
this.dispatchEvent(new JpegDefineHuffmanTableEvent(table)); this.dispatchEvent(createEvent(JpegParseEventType.DEFINE_HUFFMAN_TABLE, table));
ptr += (1 + 16 + numCodes); ptr += (1 + 16 + numCodes);
} }
@ -497,7 +446,7 @@ export class JpegParser extends EventTarget {
componentDetails, componentDetails,
}; };
this.dispatchEvent(new JpegStartOfFrameEvent(sof)); this.dispatchEvent(createEvent(JpegParseEventType.START_OF_FRAME, sof));
} // End of SOF0, SOF1, SOF2 } // End of SOF0, SOF1, SOF2
else if (jpegMarker === JpegSegmentType.SOS) { else if (jpegMarker === JpegSegmentType.SOS) {
this.bstream.setBigEndian(); this.bstream.setBigEndian();
@ -536,7 +485,7 @@ export class JpegParser extends EventTarget {
// NOTE: The below will have the null bytes after every 0xFF value. // NOTE: The below will have the null bytes after every 0xFF value.
sos.rawImageData = rawImageDataStream.readBytes(numBytes); sos.rawImageData = rawImageDataStream.readBytes(numBytes);
this.dispatchEvent(new JpegStartOfScanEvent(sos)); this.dispatchEvent(createEvent(JpegParseEventType.START_OF_SCAN, sos));
} // End of SOS } // End of SOS
else { else {
this.bstream.setBigEndian(); this.bstream.setBigEndian();

View file

@ -35,11 +35,9 @@ export {
export { getFullMIMEString, getShortMIMEString } from './codecs/codecs.js'; export { getFullMIMEString, getShortMIMEString } from './codecs/codecs.js';
export { findMimeType } from './file/sniffer.js'; export { findMimeType } from './file/sniffer.js';
export { GifParseEventType, GifParser } from './image/parsers/gif.js'; export { GifParseEventType, GifParser } from './image/parsers/gif.js';
export { JpegApp0ExtensionEvent, JpegApp0MarkerEvent, JpegApp1ExifEvent, JpegComponentType, export { JpegComponentType, JpegDctType, JpegDensityUnits, JpegExtensionThumbnailFormat,
JpegDctType, JpegDefineHuffmanTableEvent, JpegDefineQuantizationTableEvent, JpegHuffmanTableType, JpegParseEventType, JpegParser,
JpegDensityUnits, JpegExtensionThumbnailFormat, JpegHuffmanTableType, JpegParseEventType, JpegSegmentType } from './image/parsers/jpeg.js';
JpegParser, JpegSegmentType, JpegStartOfFrameEvent,
JpegStartOfScanEvent } from './image/parsers/jpeg.js';
export { convertWebPtoPNG, convertWebPtoJPG } from './image/webp-shim/webp-shim.js'; export { convertWebPtoPNG, convertWebPtoJPG } from './image/webp-shim/webp-shim.js';
export { BitBuffer } from './io/bitbuffer.js'; export { BitBuffer } from './io/bitbuffer.js';
export { BitStream } from './io/bitstream.js'; export { BitStream } from './io/bitstream.js';

View file

@ -20,8 +20,8 @@ describe('bitjs.image.parsers.JpegParser', () => {
let sof; let sof;
const parser = new JpegParser(ab) const parser = new JpegParser(ab)
.onApp1Exif(evt => { exif = evt.exifValueMap }) .onApp1Exif(evt => { exif = evt.detail })
.onStartOfFrame(evt => { sof = evt.startOfFrame }); .onStartOfFrame(evt => { sof = evt.detail });
await parser.start(); await parser.start();
const descVal = exif.get(ExifTagNumber.IMAGE_DESCRIPTION); const descVal = exif.get(ExifTagNumber.IMAGE_DESCRIPTION);

View file

@ -27,75 +27,17 @@ export namespace JpegDensityUnits {
const PIXELS_PER_INCH: number; const PIXELS_PER_INCH: number;
const PIXELS_PER_CM: number; const PIXELS_PER_CM: number;
} }
/**
* @typedef JpegApp0Marker
* @property {string} jfifVersion Like '1.02'.
* @property {JpegDensityUnits} densityUnits
* @property {number} xDensity
* @property {number} yDensity
* @property {number} xThumbnail
* @property {number} yThumbnail
* @property {Uint8Array} thumbnailData RGB data. Size is 3 x thumbnailWidth x thumbnailHeight.
*/
export class JpegApp0MarkerEvent extends Event {
/** @param {JpegApp0Marker} */
constructor(segment: any);
/** @type {JpegApp0Marker} */
app0Marker: JpegApp0Marker;
}
export type JpegExtensionThumbnailFormat = number; export type JpegExtensionThumbnailFormat = number;
export namespace JpegExtensionThumbnailFormat { export namespace JpegExtensionThumbnailFormat {
const JPEG: number; const JPEG: number;
const ONE_BYTE_PER_PIXEL_PALETTIZED: number; const ONE_BYTE_PER_PIXEL_PALETTIZED: number;
const THREE_BYTES_PER_PIXEL_RGB: number; const THREE_BYTES_PER_PIXEL_RGB: number;
} }
/**
* @typedef JpegApp0Extension
* @property {JpegExtensionThumbnailFormat} thumbnailFormat
* @property {Uint8Array} thumbnailData Raw thumbnail data
*/
export class JpegApp0ExtensionEvent extends Event {
/** @param {JpegApp0Extension} */
constructor(segment: any);
/** @type {JpegApp0Extension} */
app0Extension: JpegApp0Extension;
}
export class JpegApp1ExifEvent extends Event {
/** @param {Map<number, ExifValue>} exifValueMap */
constructor(exifValueMap: Map<number, import("./exif.js").ExifValue>);
/** @type {Map<number, ExifValue>} */
exifValueMap: Map<number, import("./exif.js").ExifValue>;
}
/**
* @typedef JpegDefineQuantizationTable
* @property {number} tableNumber Table/component number.
* @property {number} precision (0=byte, 1=word).
* @property {number[]} tableValues 64 numbers representing the quantization table.
*/
export class JpegDefineQuantizationTableEvent extends Event {
/** @param {JpegDefineQuantizationTable} table */
constructor(table: JpegDefineQuantizationTable);
/** @type {JpegDefineQuantizationTable} */
quantizationTable: JpegDefineQuantizationTable;
}
export type JpegHuffmanTableType = number; export type JpegHuffmanTableType = number;
export namespace JpegHuffmanTableType { export namespace JpegHuffmanTableType {
const DC: number; const DC: number;
const AC: number; const AC: number;
} }
/**
* @typedef JpegDefineHuffmanTable
* @property {number} tableNumber Table/component number (0-3).
* @property {JpegHuffmanTableType} tableType Either DC or AC.
* @property {number[]} numberOfSymbols A 16-byte array specifying the # of symbols of each length.
* @property {number[]} symbols
*/
export class JpegDefineHuffmanTableEvent extends Event {
/** @param {JpegDefineHuffmanTable} table */
constructor(table: JpegDefineHuffmanTable);
/** @type {JpegDefineHuffmanTable} */
huffmanTable: JpegDefineHuffmanTable;
}
export type JpegDctType = number; export type JpegDctType = number;
export namespace JpegDctType { export namespace JpegDctType {
const BASELINE: number; const BASELINE: number;
@ -126,12 +68,6 @@ export namespace JpegComponentType {
* @property {number} numberOfComponents Usually 1, 3, or 4. * @property {number} numberOfComponents Usually 1, 3, or 4.
* @property {JpegComponentDetail[]} componentDetails * @property {JpegComponentDetail[]} componentDetails
*/ */
export class JpegStartOfFrameEvent extends Event {
/** @param {JpegStartOfFrame} sof */
constructor(sof: JpegStartOfFrame);
/** @type {JpegStartOfFrame} */
startOfFrame: JpegStartOfFrame;
}
/** /**
* @typedef JpegStartOfScan * @typedef JpegStartOfScan
* @property {number} componentsInScan * @property {number} componentsInScan
@ -165,47 +101,47 @@ export class JpegParser extends EventTarget {
*/ */
private hasApp0MarkerSegment; private hasApp0MarkerSegment;
/** /**
* Type-safe way to bind a listener for a JpegApp0MarkerEvent. * Type-safe way to bind a listener for a JpegApp0Marker.
* @param {function(JpegApp0MarkerEvent): void} listener * @param {function(CustomEvent<JpegApp0Marker>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onApp0Marker(listener: (arg0: JpegApp0MarkerEvent) => void): JpegParser; onApp0Marker(listener: (arg0: CustomEvent<JpegApp0Marker>) => void): JpegParser;
/** /**
* Type-safe way to bind a listener for a JpegApp0ExtensionEvent. * Type-safe way to bind a listener for a JpegApp0Extension.
* @param {function(JpegApp0MarkerEvent): void} listener * @param {function(CustomEvent<JpegApp0Extension>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onApp0Extension(listener: (arg0: JpegApp0MarkerEvent) => void): JpegParser; onApp0Extension(listener: (arg0: CustomEvent<JpegApp0Extension>) => void): JpegParser;
/** /**
* Type-safe way to bind a listener for a JpegApp1ExifEvent. * Type-safe way to bind a listener for a JpegExifProfile.
* @param {function(JpegApp1ExifEvent): void} listener * @param {function(CustomEvent<JpegExifProfile>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onApp1Exif(listener: (arg0: JpegApp1ExifEvent) => void): JpegParser; onApp1Exif(listener: (arg0: CustomEvent<JpegExifProfile>) => void): JpegParser;
/** /**
* Type-safe way to bind a listener for a JpegDefineQuantizationTableEvent. * Type-safe way to bind a listener for a JpegDefineQuantizationTable.
* @param {function(JpegDefineQuantizationTableEvent): void} listener * @param {function(CustomEvent<JpegDefineQuantizationTable>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onDefineQuantizationTable(listener: (arg0: JpegDefineQuantizationTableEvent) => void): JpegParser; onDefineQuantizationTable(listener: (arg0: CustomEvent<JpegDefineQuantizationTable>) => void): JpegParser;
/** /**
* Type-safe way to bind a listener for a JpegDefineHuffmanTableEvent. * Type-safe way to bind a listener for a JpegDefineHuffmanTable.
* @param {function(JpegDefineHuffmanTableEvent): void} listener * @param {function(CustomEvent<JpegDefineHuffmanTable>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onDefineHuffmanTable(listener: (arg0: JpegDefineHuffmanTableEvent) => void): JpegParser; onDefineHuffmanTable(listener: (arg0: CustomEvent<JpegDefineHuffmanTable>) => void): JpegParser;
/** /**
* Type-safe way to bind a listener for a JpegStartOfFrameEvent. * Type-safe way to bind a listener for a JpegStartOfFrame.
* @param {function(JpegStartOfFrameEvent): void} listener * @param {function(CustomEvent<JpegStartOfFrame>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onStartOfFrame(listener: (arg0: JpegStartOfFrameEvent) => void): JpegParser; onStartOfFrame(listener: (arg0: CustomEvent<JpegStartOfFrame>) => void): JpegParser;
/** /**
* Type-safe way to bind a listener for a JpegStartOfScanEvent. * Type-safe way to bind a listener for a JpegStartOfScan.
* @param {function(JpegStartOfScanEvent): void} listener * @param {function(CustomEvent<JpegStartOfScan>): void} listener
* @returns {JpegParser} for chaining * @returns {JpegParser} for chaining
*/ */
onStartOfScan(listener: (arg0: JpegStartOfScanEvent) => void): JpegParser; onStartOfScan(listener: (arg0: CustomEvent<JpegStartOfScan>) => void): JpegParser;
/** @returns {Promise<void>} A Promise that resolves when the parsing is complete. */ /** @returns {Promise<void>} A Promise that resolves when the parsing is complete. */
start(): Promise<void>; start(): Promise<void>;
} }
@ -232,6 +168,7 @@ export type JpegApp0Extension = {
*/ */
thumbnailData: Uint8Array; thumbnailData: Uint8Array;
}; };
export type JpegExifProfile = Map<number, import("./exif.js").ExifValue>;
export type JpegDefineQuantizationTable = { export type JpegDefineQuantizationTable = {
/** /**
* Table/component number. * Table/component number.

View file

@ -1 +1 @@
{"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../../../image/parsers/jpeg.js"],"names":[],"mappings":"iCAsBW,MAAM;;;;;;;;;;8BAWN,MAAM;;;;;;;;;;;;;+BAwBN,MAAM;;;;;;AAOjB;;;;;;;;;GASG;AAEH;IACE,8BAA8B;IAC9B,0BAIC;IAFC,6BAA6B;IAC7B,YADW,cAAc,CACA;CAE5B;2CAEU,MAAM;;;;;;AAOjB;;;;GAIG;AAEH;IACE,iCAAiC;IACjC,0BAIC;IAFC,gCAAgC;IAChC,eADW,iBAAiB,CACA;CAE/B;AAED;IACE,mDAAmD;IACnD,sEAIC;IAFC,qCAAqC;IACrC,yDAAgC;CAEnC;AAED;;;;;GAKG;AAEH;IACE,iDAAiD;IACjD,mBADY,2BAA2B,EAKtC;IAFC,0CAA0C;IAC1C,mBADW,2BAA2B,CACR;CAEjC;mCAEU,MAAM;;;;;AAMjB;;;;;;GAMG;AAEH;IACE,4CAA4C;IAC5C,mBADY,sBAAsB,EAKjC;IAFC,qCAAqC;IACrC,cADW,sBAAsB,CACR;CAE5B;0BAEU,MAAM;;;;;;gCAON,MAAM;;;;;;;;AASjB;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH;IACE,oCAAoC;IACpC,iBADY,gBAAgB,EAK3B;IAFC,+BAA+B;IAC/B,cADW,gBAAgB,CACJ;CAE1B;AAED;;;;;;;;;;;;;GAaG;AAEH;IACE,sBAIC;IAFC,8BAA8B;IAC9B,KADW,eAAe,CACZ;CAEjB;AAED;IAaE,8BAA8B;IAC9B,gBADY,WAAW,EAItB;IAhBD;;;OAGG;IACH,gBAAQ;IAER;;;OAGG;IACH,6BAA6B;IAQ7B;;;;OAIG;IACH,8BAHoB,mBAAmB,KAAG,IAAI,GACjC,UAAU,CAKtB;IAED;;;;OAIG;IACH,iCAHoB,mBAAmB,KAAG,IAAI,GACjC,UAAU,CAKtB;IAED;;;;OAIG;IACH,4BAHoB,iBAAiB,KAAG,IAAI,GAC/B,UAAU,CAKtB;IAED;;;;OAIG;IACH,2CAHoB,gCAAgC,KAAG,IAAI,GAC9C,UAAU,CAKtB;IAED;;;;OAIG;IACH,sCAHoB,2BAA2B,KAAG,IAAI,GACzC,UAAU,CAKtB;IAED;;;;OAIG;IACH,gCAHoB,qBAAqB,KAAG,IAAI,GACnC,UAAU,CAKtB;IAED;;;;OAIG;IACH,+BAHoB,oBAAoB,KAAG,IAAI,GAClC,UAAU,CAKtB;IAED,qFAAqF;IACrF,SADc,QAAQ,IAAI,CAAC,CA8O1B;CACF;wBAvhBa,OAAO,WAAW,EAAE,SAAS;;;;;iBAqD7B,MAAM;kBACN,gBAAgB;cAChB,MAAM;cACN,MAAM;gBACN,MAAM;gBACN,MAAM;;;;mBACN,UAAU;;;qBAqBV,4BAA4B;;;;mBAC5B,UAAU;;;;;;iBAuBV,MAAM;;;;eACN,MAAM;;;;iBACN,MAAM,EAAE;;;;;;iBAoBR,MAAM;;;;eACN,oBAAoB;;;;qBACpB,MAAM,EAAE;aACR,MAAM,EAAE;;;iBA8BR,iBAAiB;4BACjB,MAAM;8BACN,MAAM;6BACN,MAAM;;;aAKN,WAAW;mBACX,MAAM;iBACN,MAAM;gBACN,MAAM;;;;wBACN,MAAM;sBACN,mBAAmB,EAAE;;;sBAcrB,MAAM;wBACN,MAAM;2BACN,MAAM;yBACN,MAAM;4BACN,MAAM;yBACN,MAAM;4BACN,MAAM;8BACN,MAAM;4BACN,MAAM;wCACN,MAAM;kBACN,UAAU"} {"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../../../image/parsers/jpeg.js"],"names":[],"mappings":"iCAuBW,MAAM;;;;;;;;;;8BAWN,MAAM;;;;;;;;;;;;;+BAwBN,MAAM;;;;;;2CAkBN,MAAM;;;;;;mCAsBN,MAAM;;;;;0BAcN,MAAM;;;;;;gCAON,MAAM;;;;;;;;AASjB;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;GAaG;AAEH;IACE,sBAIC;IAFC,8BAA8B;IAC9B,KADW,eAAe,CACZ;CAEjB;AAED;IAaE,8BAA8B;IAC9B,gBADY,WAAW,EAItB;IAhBD;;;OAGG;IACH,gBAAQ;IAER;;;OAGG;IACH,6BAA6B;IAQ7B;;;;OAIG;IACH,8BAHoB,YAAY,cAAc,CAAC,KAAG,IAAI,GACzC,UAAU,CAKtB;IAED;;;;OAIG;IACH,iCAHoB,YAAY,iBAAiB,CAAC,KAAG,IAAI,GAC5C,UAAU,CAKtB;IAED;;;;OAIG;IACH,4BAHoB,YAAY,eAAe,CAAC,KAAG,IAAI,GAC1C,UAAU,CAKtB;IAED;;;;OAIG;IACH,2CAHoB,YAAY,2BAA2B,CAAC,KAAG,IAAI,GACtD,UAAU,CAKtB;IAED;;;;OAIG;IACH,sCAHoB,YAAY,sBAAsB,CAAC,KAAG,IAAI,GACjD,UAAU,CAKtB;IAED;;;;OAIG;IACH,gCAHoB,YAAY,gBAAgB,CAAC,KAAG,IAAI,GAC3C,UAAU,CAKtB;IAED;;;;OAIG;IACH,+BAHoB,YAAY,eAAe,CAAC,KAAG,IAAI,GAC1C,UAAU,CAKtB;IAED,qFAAqF;IACrF,SADc,QAAQ,IAAI,CAAC,CA8O1B;CACF;wBAnea,OAAO,WAAW,EAAE,SAAS;;;;;iBAqD7B,MAAM;kBACN,gBAAgB;cAChB,MAAM;cACN,MAAM;gBACN,MAAM;gBACN,MAAM;;;;mBACN,UAAU;;;qBAYV,4BAA4B;;;;mBAC5B,UAAU;;;;;;;iBAOV,MAAM;;;;eACN,MAAM;;;;iBACN,MAAM,EAAE;;;;;;iBAWR,MAAM;;;;eACN,oBAAoB;;;;qBACpB,MAAM,EAAE;aACR,MAAM,EAAE;;;iBAqBR,iBAAiB;4BACjB,MAAM;8BACN,MAAM;6BACN,MAAM;;;aAKN,WAAW;mBACX,MAAM;iBACN,MAAM;gBACN,MAAM;;;;wBACN,MAAM;sBACN,mBAAmB,EAAE;;;sBAKrB,MAAM;wBACN,MAAM;2BACN,MAAM;yBACN,MAAM;4BACN,MAAM;yBACN,MAAM;4BACN,MAAM;8BACN,MAAM;4BACN,MAAM;wCACN,MAAM;kBACN,UAAU"}

2
types/index.d.ts vendored
View file

@ -24,6 +24,6 @@ export type JpegStartOfScan = import('./image/parsers/jpeg.js').JpegStartOfScan;
export { UnarchiveEvent, UnarchiveEventType, UnarchiveInfoEvent, UnarchiveErrorEvent, UnarchiveStartEvent, UnarchiveFinishEvent, UnarchiveProgressEvent, UnarchiveExtractEvent, Unarchiver, Unzipper, Unrarrer, Untarrer, getUnarchiver } from "./archive/decompress.js"; export { UnarchiveEvent, UnarchiveEventType, UnarchiveInfoEvent, UnarchiveErrorEvent, UnarchiveStartEvent, UnarchiveFinishEvent, UnarchiveProgressEvent, UnarchiveExtractEvent, Unarchiver, Unzipper, Unrarrer, Untarrer, getUnarchiver } from "./archive/decompress.js";
export { getFullMIMEString, getShortMIMEString } from "./codecs/codecs.js"; export { getFullMIMEString, getShortMIMEString } from "./codecs/codecs.js";
export { GifParseEventType, GifParser } from "./image/parsers/gif.js"; export { GifParseEventType, GifParser } from "./image/parsers/gif.js";
export { JpegApp0ExtensionEvent, JpegApp0MarkerEvent, JpegApp1ExifEvent, JpegComponentType, JpegDctType, JpegDefineHuffmanTableEvent, JpegDefineQuantizationTableEvent, JpegDensityUnits, JpegExtensionThumbnailFormat, JpegHuffmanTableType, JpegParseEventType, JpegParser, JpegSegmentType, JpegStartOfFrameEvent, JpegStartOfScanEvent } from "./image/parsers/jpeg.js"; export { JpegComponentType, JpegDctType, JpegDensityUnits, JpegExtensionThumbnailFormat, JpegHuffmanTableType, JpegParseEventType, JpegParser, JpegSegmentType } from "./image/parsers/jpeg.js";
export { convertWebPtoPNG, convertWebPtoJPG } from "./image/webp-shim/webp-shim.js"; export { convertWebPtoPNG, convertWebPtoJPG } from "./image/webp-shim/webp-shim.js";
//# sourceMappingURL=index.d.ts.map //# sourceMappingURL=index.d.ts.map