PHP 7.4.33
Preview: AbstractTokenizer.js Size: 3.86 KB
/var/www/receipt-app-backend-bitkit.dk/httpdocs/node_modules/strtok3/lib/AbstractTokenizer.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AbstractTokenizer = void 0;
const peek_readable_1 = require("peek-readable");
/**
 * Core tokenizer
 */
class AbstractTokenizer {
    constructor(fileInfo) {
        /**
         * Tokenizer-stream position
         */
        this.position = 0;
        this.numBuffer = new Uint8Array(8);
        this.fileInfo = fileInfo ? fileInfo : {};
    }
    /**
     * Read a token from the tokenizer-stream
     * @param token - The token to read
     * @param position - If provided, the desired position in the tokenizer-stream
     * @returns Promise with token data
     */
    async readToken(token, position = this.position) {
        const uint8Array = Buffer.alloc(token.len);
        const len = await this.readBuffer(uint8Array, { position });
        if (len < token.len)
            throw new peek_readable_1.EndOfStreamError();
        return token.get(uint8Array, 0);
    }
    /**
     * Peek a token from the tokenizer-stream.
     * @param token - Token to peek from the tokenizer-stream.
     * @param position - Offset where to begin reading within the file. If position is null, data will be read from the current file position.
     * @returns Promise with token data
     */
    async peekToken(token, position = this.position) {
        const uint8Array = Buffer.alloc(token.len);
        const len = await this.peekBuffer(uint8Array, { position });
        if (len < token.len)
            throw new peek_readable_1.EndOfStreamError();
        return token.get(uint8Array, 0);
    }
    /**
     * Read a numeric token from the stream
     * @param token - Numeric token
     * @returns Promise with number
     */
    async readNumber(token) {
        const len = await this.readBuffer(this.numBuffer, { length: token.len });
        if (len < token.len)
            throw new peek_readable_1.EndOfStreamError();
        return token.get(this.numBuffer, 0);
    }
    /**
     * Read a numeric token from the stream
     * @param token - Numeric token
     * @returns Promise with number
     */
    async peekNumber(token) {
        const len = await this.peekBuffer(this.numBuffer, { length: token.len });
        if (len < token.len)
            throw new peek_readable_1.EndOfStreamError();
        return token.get(this.numBuffer, 0);
    }
    /**
     * Ignore number of bytes, advances the pointer in under tokenizer-stream.
     * @param length - Number of bytes to ignore
     * @return resolves the number of bytes ignored, equals length if this available, otherwise the number of bytes available
     */
    async ignore(length) {
        if (this.fileInfo.size !== undefined) {
            const bytesLeft = this.fileInfo.size - this.position;
            if (length > bytesLeft) {
                this.position += bytesLeft;
                return bytesLeft;
            }
        }
        this.position += length;
        return length;
    }
    async close() {
        // empty
    }
    normalizeOptions(uint8Array, options) {
        if (options && options.position !== undefined && options.position < this.position) {
            throw new Error('`options.position` must be equal or greater than `tokenizer.position`');
        }
        if (options) {
            return {
                mayBeLess: options.mayBeLess === true,
                offset: options.offset ? options.offset : 0,
                length: options.length ? options.length : (uint8Array.length - (options.offset ? options.offset : 0)),
                position: options.position ? options.position : this.position
            };
        }
        return {
            mayBeLess: false,
            offset: 0,
            length: uint8Array.length,
            position: this.position
        };
    }
}
exports.AbstractTokenizer = AbstractTokenizer;

Directory Contents

Dirs: 0 × Files: 16
Name Size Perms Modified Actions
2.76 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
3.86 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
1017 B lrw-r--r-- 2026-05-06 08:23:46
Edit Download
2.12 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
1.09 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
1.33 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
946 B lrw-r--r-- 2026-05-06 08:23:46
Edit Download
2.20 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
933 B lrw-r--r-- 2026-05-06 08:23:47
Edit Download
2.24 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
732 B lrw-r--r-- 2026-05-06 08:23:47
Edit Download
1.27 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
1.20 KB lrw-r--r-- 2026-05-06 08:23:47
Edit Download
4.00 KB lrw-r--r-- 2026-05-06 08:23:46
Edit Download
3.48 KB lrw-r--r-- 2026-05-06 08:23:47
Edit Download
79 B lrw-r--r-- 2026-05-06 08:23:46
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).