all files / input-output/ big-endian-writer.js

90.91% Statements 50/55
66.67% Branches 12/18
100% Functions 11/11
90.91% Lines 50/55
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83                           464×   464×         418× 418×   10× 10× 10× 10× 10× 10× 10× 10× 10× 10×   18× 18×       36×       464×     464× 464× 4940× 4940×   464×        
define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var BigEndianWriter = (function () {
        function BigEndianWriter(capacity) {
            this.int32Size = 4;
            this.int16Size = 2;
            this.int64Size = 8;
            this.bufferLength = capacity;
            this.buffer = [];
        }
        Object.defineProperty(BigEndianWriter.prototype, "data", {
            get: function () {
                Iif (this.buffer.length < this.bufferLength) {
                    var length_1 = this.bufferLength - this.buffer.length;
                    for (var i = 0; i < length_1; i++) {
                        this.buffer.push(0);
                    }
                }
                return this.buffer;
            },
            enumerable: true,
            configurable: true
        });
        Object.defineProperty(BigEndianWriter.prototype, "position", {
            get: function () {
                if (this.internalPosition === undefined || this.internalPosition === null) {
                    this.internalPosition = 0;
                }
                return this.internalPosition;
            },
            enumerable: true,
            configurable: true
        });
        BigEndianWriter.prototype.writeShort = function (value) {
            var bytes = [((value & 0x0000ff00) >> 8), value & 0x000000ff];
            this.flush(bytes);
        };
        BigEndianWriter.prototype.writeInt = function (value) {
            var i1 = (value & 0xff000000) >> 24;
            i1 = i1 < 0 ? 256 + i1 : i1;
            var i2 = (value & 0x00ff0000) >> 16;
            i2 = i2 < 0 ? 256 + i2 : i2;
            var i3 = (value & 0x0000ff00) >> 8;
            i3 = i3 < 0 ? 256 + i3 : i3;
            var i4 = value & 0x000000ff;
            i4 = i4 < 0 ? 256 + i4 : i4;
            var bytes = [(value & 0xff000000) >> 24, (value & 0x00ff0000) >> 16, (value & 0x0000ff00) >> 8, value & 0x000000ff];
            this.flush(bytes);
        };
        BigEndianWriter.prototype.writeUInt = function (value) {
            var buff = [(value & 0xff000000) >> 24, (value & 0x00ff0000) >> 16, (value & 0x0000ff00) >> 8, value & 0x000000ff];
            this.flush(buff);
        };
        BigEndianWriter.prototype.writeString = function (value) {
            Iif (value == null) {
                throw new Error('Argument Null Exception : value');
            }
            var bytes = [];
            for (var i = 0; i < value.length; i++) {
                bytes.push(value.charCodeAt(i));
            }
            this.flush(bytes);
        };
        BigEndianWriter.prototype.writeBytes = function (value) {
            this.flush(value);
        };
        BigEndianWriter.prototype.flush = function (buff) {
            Iif (buff === null) {
                throw new Error('Argument Null Exception : buff');
            }
            var position = this.position;
            for (var i = 0; i < buff.length; i++) {
                this.buffer[position] = buff[i];
                position++;
            }
            this.internalPosition += buff.length;
        };
        return BigEndianWriter;
    }());
    exports.BigEndianWriter = BigEndianWriter;
});