Spaces:
Sleeping
Sleeping
{"version":3,"sources":["ipc/metadata/file.ts"],"names":[],"mappings":"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","file":"file.js","sourcesContent":["// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* tslint:disable:class-name */\n\nimport * as File_ from '../../fb/File';\nimport { flatbuffers } from 'flatbuffers';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport _Block = File_.org.apache.arrow.flatbuf.Block;\nimport _Footer = File_.org.apache.arrow.flatbuf.Footer;\n\nimport { Schema } from '../../schema';\nimport { MetadataVersion } from '../../enum';\nimport { toUint8Array } from '../../util/buffer';\nimport { ArrayBufferViewInput } from '../../util/buffer';\n\n/** @ignore */\nclass Footer_ {\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const footer = _Footer.getRootAsFooter(buf);\n const schema = Schema.decode(footer.schema()!);\n return new OffHeapFooter(schema, footer) as Footer_;\n }\n\n /** @nocollapse */\n public static encode(footer: Footer_) {\n\n const b: Builder = new Builder();\n const schemaOffset = Schema.encode(b, footer.schema);\n\n _Footer.startRecordBatchesVector(b, footer.numRecordBatches);\n [...footer.recordBatches()].slice().reverse().forEach((rb) => FileBlock.encode(b, rb));\n const recordBatchesOffset = b.endVector();\n\n _Footer.startDictionariesVector(b, footer.numDictionaries);\n [...footer.dictionaryBatches()].slice().reverse().forEach((db) => FileBlock.encode(b, db));\n\n const dictionaryBatchesOffset = b.endVector();\n\n _Footer.startFooter(b);\n _Footer.addSchema(b, schemaOffset);\n _Footer.addVersion(b, MetadataVersion.V4);\n _Footer.addRecordBatches(b, recordBatchesOffset);\n _Footer.addDictionaries(b, dictionaryBatchesOffset);\n _Footer.finishFooterBuffer(b, _Footer.endFooter(b));\n\n return b.asUint8Array();\n }\n\n // @ts-ignore\n protected _recordBatches: FileBlock[];\n // @ts-ignore\n protected _dictionaryBatches: FileBlock[];\n public get numRecordBatches() { return this._recordBatches.length; }\n public get numDictionaries() { return this._dictionaryBatches.length; }\n\n constructor(public schema: Schema,\n public version: MetadataVersion = MetadataVersion.V4,\n recordBatches?: FileBlock[], dictionaryBatches?: FileBlock[]) {\n recordBatches && (this._recordBatches = recordBatches);\n dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);\n }\n\n public *recordBatches(): Iterable<FileBlock> {\n for (let block, i = -1, n = this.numRecordBatches; ++i < n;) {\n if (block = this.getRecordBatch(i)) { yield block; }\n }\n }\n\n public *dictionaryBatches(): Iterable<FileBlock> {\n for (let block, i = -1, n = this.numDictionaries; ++i < n;) {\n if (block = this.getDictionaryBatch(i)) { yield block; }\n }\n }\n\n public getRecordBatch(index: number) {\n return index >= 0\n && index < this.numRecordBatches\n && this._recordBatches[index] || null;\n }\n\n public getDictionaryBatch(index: number) {\n return index >= 0\n && index < this.numDictionaries\n && this._dictionaryBatches[index] || null;\n }\n}\n\nexport { Footer_ as Footer };\n\n/** @ignore */\nclass OffHeapFooter extends Footer_ {\n\n public get numRecordBatches() { return this._footer.recordBatchesLength(); }\n public get numDictionaries() { return this._footer.dictionariesLength(); }\n\n constructor(schema: Schema, protected _footer: _Footer) {\n super(schema, _footer.version());\n }\n\n public getRecordBatch(index: number) {\n if (index >= 0 && index < this.numRecordBatches) {\n const fileBlock = this._footer.recordBatches(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n\n public getDictionaryBatch(index: number) {\n if (index >= 0 && index < this.numDictionaries) {\n const fileBlock = this._footer.dictionaries(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n}\n\n/** @ignore */\nexport class FileBlock {\n\n /** @nocollapse */\n public static decode(block: _Block) {\n return new FileBlock(block.metaDataLength(), block.bodyLength(), block.offset());\n }\n\n /** @nocollapse */\n public static encode(b: Builder, fileBlock: FileBlock) {\n const { metaDataLength } = fileBlock;\n const offset = new Long(fileBlock.offset, 0);\n const bodyLength = new Long(fileBlock.bodyLength, 0);\n return _Block.createBlock(b, offset, metaDataLength, bodyLength);\n }\n\n public offset: number;\n public bodyLength: number;\n public metaDataLength: number;\n\n constructor(metaDataLength: number, bodyLength: Long | number, offset: Long | number) {\n this.metaDataLength = metaDataLength;\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n"]} |