all files / pages/ pdf-page-layer-collection.js

80.22% Statements 73/91
67.74% Branches 21/31
87.5% Functions 14/16
79.55% Lines 70/88
11 statements, 6 functions, 9 branches Ignored     
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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118          15× 15× 15× 15× 15× 15× 15× 15×   15×   93× 93× 93×                     30× 15× 15× 15× 15×   15× 15× 15× 15×           15× 15×                                     15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15× 15×   15×     15× 15×        
/* istanbul ignore next */ 
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
define(["require", "exports", "./pdf-page-base", "./../primitives/pdf-dictionary", "./pdf-page-layer", "./../general/pdf-collection", "./../primitives/pdf-reference", "./../primitives/pdf-stream"], function (require, exports, pdf_page_base_1, pdf_dictionary_1, pdf_page_layer_1, pdf_collection_1, pdf_reference_1, pdf_stream_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var PdfPageLayerCollection = (function (_super) {
        __extends(PdfPageLayerCollection, _super);
        function PdfPageLayerCollection(page) {
            var _this = _super.call(this) || this;
            _this.parentLayerCount = 0;
            _this.sublayer = false;
            _this.optionalContent = new pdf_dictionary_1.PdfDictionary();
            Eif (page instanceof pdf_page_base_1.PdfPageBase) {
                _this.page = page;
                var lPage = page;
                _this.parseLayers(lPage);
            }
            return _this;
        }
        PdfPageLayerCollection.prototype.items = function (index, value) {
            Eif (typeof index === 'number' && typeof value === 'undefined') {
                var obj = this.list[index];
                return obj;
            }
            else {
                if (value == null) {
                    throw new Error('ArgumentNullException: layer');
                }
                if (value.page !== this.page) {
                    throw new Error('ArgumentException: The layer belongs to another page');
                }
            }
        };
        PdfPageLayerCollection.prototype.add = function (firstArgument, secondArgument) {
            if (typeof firstArgument === 'undefined') {
                var layer = new pdf_page_layer_1.PdfPageLayer(this.page);
                layer.name = '';
                this.add(layer);
                return layer;
            }
            else Eif (firstArgument instanceof pdf_page_layer_1.PdfPageLayer) {
                var index = this.list.push(firstArgument);
                this.addLayer(index, firstArgument);
                return index;
            }
            else {
                return 0;
            }
        };
        PdfPageLayerCollection.prototype.addLayer = function (index, layer) {
            var reference = new pdf_reference_1.PdfReferenceHolder(layer);
            this.page.contents.add(reference);
        };
        PdfPageLayerCollection.prototype.insert = function (index, layer) {
            var list = [];
            var length = this.list.length;
            for (var i = index; i < length; i++) {
                list.push(this.list.pop());
            }
            this.list.push(layer);
            for (var i = 0; i < list.length; i++) {
                this.list.push(list[i]);
            }
            this.insertLayer(index, layer);
        };
        PdfPageLayerCollection.prototype.insertLayer = function (index, layer) {
            if (layer == null) {
                throw new Error('ArgumentNullException:layer');
            }
            var reference = new pdf_reference_1.PdfReferenceHolder(layer);
            this.page.contents.insert(index, reference);
        };
        PdfPageLayerCollection.prototype.parseLayers = function (loadedPage) {
            var contents = this.page.contents;
            var resource = this.page.getResources();
            var crossTable = null;
            var ocproperties = null;
            var propertie = null;
            var isLayerAdded = false;
            crossTable = loadedPage.crossTable;
            var saveStream = new pdf_stream_1.PdfStream();
            var restoreStream = new pdf_stream_1.PdfStream();
            var saveState = 'q';
            var newLine = '\n';
            var restoreState = 'Q';
            var saveData = [];
            saveData.push(saveState);
            saveStream.data = saveData;
            contents.insert(0, new pdf_reference_1.PdfReferenceHolder(saveStream));
            saveData = [];
            saveData.push(restoreState);
            restoreStream.data = saveData;
            contents.insert(contents.count, new pdf_reference_1.PdfReferenceHolder(restoreStream));
        };
        PdfPageLayerCollection.prototype.indexOf = function (layer) {
            Iif (layer == null) {
                throw new Error('ArgumentNullException: layer');
            }
            var index = this.list.indexOf(layer);
            return index;
        };
        return PdfPageLayerCollection;
    }(pdf_collection_1.PdfCollection));
    exports.PdfPageLayerCollection = PdfPageLayerCollection;
});