PHP 8.2.30
Preview: large-numbers.js Size: 2.52 KB
/opt/alt/alt-nodejs22/root/usr/lib/node_modules/npm/node_modules/cacache/node_modules/tar/dist/esm/large-numbers.js

// Tar can encode large and negative numbers using a leading byte of
// 0xff for negative, and 0x80 for positive.
export const encode = (num, buf) => {
    if (!Number.isSafeInteger(num)) {
        // The number is so large that javascript cannot represent it with integer
        // precision.
        throw Error('cannot encode number outside of javascript safe integer range');
    }
    else if (num < 0) {
        encodeNegative(num, buf);
    }
    else {
        encodePositive(num, buf);
    }
    return buf;
};
const encodePositive = (num, buf) => {
    buf[0] = 0x80;
    for (var i = buf.length; i > 1; i--) {
        buf[i - 1] = num & 0xff;
        num = Math.floor(num / 0x100);
    }
};
const encodeNegative = (num, buf) => {
    buf[0] = 0xff;
    var flipped = false;
    num = num * -1;
    for (var i = buf.length; i > 1; i--) {
        var byte = num & 0xff;
        num = Math.floor(num / 0x100);
        if (flipped) {
            buf[i - 1] = onesComp(byte);
        }
        else if (byte === 0) {
            buf[i - 1] = 0;
        }
        else {
            flipped = true;
            buf[i - 1] = twosComp(byte);
        }
    }
};
export const parse = (buf) => {
    const pre = buf[0];
    const value = pre === 0x80 ? pos(buf.subarray(1, buf.length))
        : pre === 0xff ? twos(buf)
            : null;
    if (value === null) {
        throw Error('invalid base256 encoding');
    }
    if (!Number.isSafeInteger(value)) {
        // The number is so large that javascript cannot represent it with integer
        // precision.
        throw Error('parsed number outside of javascript safe integer range');
    }
    return value;
};
const twos = (buf) => {
    var len = buf.length;
    var sum = 0;
    var flipped = false;
    for (var i = len - 1; i > -1; i--) {
        var byte = Number(buf[i]);
        var f;
        if (flipped) {
            f = onesComp(byte);
        }
        else if (byte === 0) {
            f = byte;
        }
        else {
            flipped = true;
            f = twosComp(byte);
        }
        if (f !== 0) {
            sum -= f * Math.pow(256, len - i - 1);
        }
    }
    return sum;
};
const pos = (buf) => {
    var len = buf.length;
    var sum = 0;
    for (var i = len - 1; i > -1; i--) {
        var byte = Number(buf[i]);
        if (byte !== 0) {
            sum += byte * Math.pow(256, len - i - 1);
        }
    }
    return sum;
};
const onesComp = (byte) => (0xff ^ byte) & 0xff;
const twosComp = (byte) => ((0xff ^ byte) + 1) & 0xff;
//# sourceMappingURL=large-numbers.js.map

Directory Contents

Dirs: 0 × Files: 30

Name Size Perms Modified Actions
2.11 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
310 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1.65 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1018 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
10.36 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
647 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
2.52 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
3.16 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1.83 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
6.30 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
753 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
489 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
490 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1.60 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
12.70 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
23 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
21.23 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
5.33 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
4.64 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
4.08 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
7.01 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1.04 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
489 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
390 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1.25 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
31.68 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download
1006 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
795 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
549 B lrw-r--r-- 2026-02-23 06:53:59
Edit Download
22.25 KB lrw-r--r-- 2026-02-23 06:53:59
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).