123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- export declare enum ResultType {
- BOM = 0,
- PASSED = 1,
- XML_PREFIX = 2,
- META_TAG = 3,
- XML_ENCODING = 4,
- DEFAULT = 5
- }
- export declare const STRINGS: {
- UTF8_BOM: Uint8Array;
- UTF16LE_BOM: Uint8Array;
- UTF16BE_BOM: Uint8Array;
- UTF16LE_XML_PREFIX: Uint8Array;
- UTF16BE_XML_PREFIX: Uint8Array;
- XML_DECLARATION: Uint8Array;
- ENCODING: Uint8Array;
- META: Uint8Array;
- HTTP_EQUIV: Uint8Array;
- CONTENT: Uint8Array;
- CONTENT_TYPE: Uint8Array;
- CHARSET: Uint8Array;
- COMMENT_START: Uint8Array;
- COMMENT_END: Uint8Array;
- };
- export interface SnifferOptions {
- /**
- * The maximum number of bytes to sniff.
- *
- * @default 1024
- */
- maxBytes?: number;
- /**
- * The encoding specified by the user.
- */
- userEncoding?: string;
- /**
- * The encoding specified by the transport layer.
- */
- transportLayerEncodingLabel?: string;
- /**
- * The default encoding to use.
- *
- * @default "windows-1252"
- */
- defaultEncoding?: string;
- }
- export declare class Sniffer {
- /** The maximum number of bytes to sniff. */
- private readonly maxBytes;
- /** The offset of the previous buffers. */
- private offset;
- private state;
- private sectionIndex;
- private attribType;
- /**
- * Indicates if the `http-equiv` is `content-type`.
- *
- * Initially `null`, a boolean when a value is found.
- */
- private gotPragma;
- private needsPragma;
- private inMetaTag;
- encoding: string;
- resultType: ResultType;
- private setResult;
- constructor({ maxBytes, userEncoding, transportLayerEncodingLabel, defaultEncoding, }?: SnifferOptions);
- private stateBegin;
- private stateBeginLT;
- private stateUTF16BE_XML_PREFIX;
- private stateUTF16LE_XML_PREFIX;
- private stateBOM16LE;
- private stateBOM16BE;
- private stateBOM8;
- private stateBeforeTag;
- /**
- * We have seen a `<`, and now have to figure out what to do.
- *
- * Options:
- * - `<meta`
- * - Any other tag
- * - A closing tag
- * - `<!--`
- * - An XML declaration
- *
- */
- private stateBeforeTagName;
- private stateBeforeCloseTagName;
- private stateCommentStart;
- private stateCommentEnd;
- /**
- * Any section starting with `<!`, `<?`, `</`, without being a closing tag or comment.
- */
- private stateWeirdTag;
- /**
- * Advances the section, ignoring upper/lower case.
- *
- * Make sure the section has left-over characters before calling.
- *
- * @returns `false` if we did not match the section.
- */
- private advanceSectionIC;
- /**
- * Advances the section.
- *
- * Make sure the section has left-over characters before calling.
- *
- * @returns `false` if we did not match the section.
- */
- private advanceSection;
- private stateTagNameMeta;
- private stateTagNameOther;
- private stateBeforeAttribute;
- private handleMetaAttrib;
- private stateMetaAttribHttpEquiv;
- private stateMetaAttribC;
- private stateMetaAttribCharset;
- private stateMetaAttribContent;
- private stateMetaAttribAfterName;
- private stateAnyAttribName;
- private stateAfterAttributeName;
- private quoteCharacter;
- private readonly attributeValue;
- private stateBeforeAttributeValue;
- private stateMetaAttribHttpEquivValue;
- private handleMetaContentValue;
- private handleAttributeValue;
- private stateAttributeValueUnquoted;
- private findMetaContentEncoding;
- private stateMetaContentValueUnquotedBeforeEncoding;
- private stateMetaContentValueUnquotedBeforeValue;
- private stateMetaContentValueUnquotedValueQuoted;
- private stateMetaContentValueUnquotedValueUnquoted;
- private stateMetaContentValueQuotedValueUnquoted;
- private stateMetaContentValueQuotedValueQuoted;
- private stateMetaContentValueQuotedBeforeEncoding;
- private stateMetaContentValueQuotedAfterEncoding;
- private stateMetaContentValueQuotedBeforeValue;
- private stateAttributeValueQuoted;
- private stateXMLDeclaration;
- private stateXMLDeclarationBeforeEncoding;
- private stateXMLDeclarationAfterEncoding;
- private stateXMLDeclarationBeforeValue;
- private stateXMLDeclarationValue;
- write(buffer: Uint8Array): void;
- }
- /** Get the encoding for the passed buffer. */
- export declare function getEncoding(buffer: Uint8Array, options?: SnifferOptions): string;
- //# sourceMappingURL=sniffer.d.ts.map
|