{"version":3,"sources":["ipc/message.ts"],"names":[],"mappings":"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","file":"message.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\nimport { MessageHeader } from '../enum';\nimport { flatbuffers } from 'flatbuffers';\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport { Message } from './metadata/message';\nimport { isFileHandle } from '../util/compat';\nimport { AsyncRandomAccessFile } from '../io/file';\nimport { toUint8Array, ArrayBufferViewInput } from '../util/buffer';\nimport { ByteStream, ReadableSource, AsyncByteStream } from '../io/stream';\nimport { ArrowJSON, ArrowJSONLike, ITERATOR_DONE, FileHandle } from '../io/interfaces';\n\n/** @ignore */ const invalidMessageType = (type: MessageHeader) => `Expected ${MessageHeader[type]} Message in stream, but was null or length 0.`;\n/** @ignore */ const nullMessage = (type: MessageHeader) => `Header pointer of flatbuffer-encoded ${MessageHeader[type]} Message is null or length 0.`;\n/** @ignore */ const invalidMessageMetadata = (expected: number, actual: number) => `Expected to read ${expected} metadata bytes, but only read ${actual}.`;\n/** @ignore */ const invalidMessageBodyLength = (expected: number, actual: number) => `Expected to read ${expected} bytes for message body, but only read ${actual}.`;\n\n/** @ignore */\nexport class MessageReader implements IterableIterator {\n protected source: ByteStream;\n constructor(source: ByteStream | ArrayBufferViewInput | Iterable) {\n this.source = source instanceof ByteStream ? source : new ByteStream(source);\n }\n public [Symbol.iterator](): IterableIterator { return this as IterableIterator; }\n public next(): IteratorResult {\n let r;\n if ((r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return ( r) as IteratorResult;\n }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readMessageBody(bodyLength: number): Uint8Array {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message && message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected readMetadataLength(): IteratorResult {\n const buf = this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb && bb.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected readMetadata(metadataLength: number): IteratorResult {\n const buf = this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class AsyncMessageReader implements AsyncIterableIterator {\n protected source: AsyncByteStream;\n constructor(source: ReadableSource);\n constructor(source: FileHandle, byteLength?: number);\n constructor(source: any, byteLength?: number) {\n this.source = source instanceof AsyncByteStream ? source\n : isFileHandle(source)\n ? new AsyncRandomAccessFile(source, byteLength!)\n : new AsyncByteStream(source);\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator { return this as AsyncIterableIterator; }\n public async next(): Promise> {\n let r;\n if ((r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = await this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return ( r) as IteratorResult;\n }\n public async throw(value?: any) { return await this.source.throw(value); }\n public async return(value?: any) { return await this.source.return(value); }\n public async readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = await this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public async readMessageBody(bodyLength: number): Promise {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(await this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public async readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = await this.readMessage(type);\n const schema = message && message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected async readMetadataLength(): Promise> {\n const buf = await this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb && bb.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected async readMetadata(metadataLength: number): Promise> {\n const buf = await this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class JSONMessageReader extends MessageReader {\n private _schema = false;\n private _json: ArrowJSON;\n private _body: any[] = [];\n private _batchIndex = 0;\n private _dictionaryIndex = 0;\n constructor(source: ArrowJSON | ArrowJSONLike) {\n super(new Uint8Array(0));\n this._json = source instanceof ArrowJSON ? source : new ArrowJSON(source);\n }\n public next() {\n const { _json } = this;\n if (!this._schema) {\n this._schema = true;\n const message = Message.fromJSON(_json.schema, MessageHeader.Schema);\n return { done: false, value: message };\n }\n if (this._dictionaryIndex < _json.dictionaries.length) {\n const batch = _json.dictionaries[this._dictionaryIndex++];\n this._body = batch['data']['columns'];\n const message = Message.fromJSON(batch, MessageHeader.DictionaryBatch);\n return { done: false, value: message };\n }\n if (this._batchIndex < _json.batches.length) {\n const batch = _json.batches[this._batchIndex++];\n this._body = batch['columns'];\n const message = Message.fromJSON(batch, MessageHeader.RecordBatch);\n return { done: false, value: message };\n }\n this._body = [];\n return ITERATOR_DONE;\n }\n public readMessageBody(_bodyLength?: number) {\n return flattenDataSources(this._body) as any;\n function flattenDataSources(xs: any[]): any[][] {\n return (xs || []).reduce((buffers, column: any) => [\n ...buffers,\n ...(column['VALIDITY'] && [column['VALIDITY']] || []),\n ...(column['TYPE'] && [column['TYPE']] || []),\n ...(column['OFFSET'] && [column['OFFSET']] || []),\n ...(column['DATA'] && [column['DATA']] || []),\n ...flattenDataSources(column['children'])\n ], [] as any[][]);\n }\n }\n public readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readSchema() {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message && message.header();\n if (!message || !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n}\n\n/** @ignore */\nexport const PADDING = 4;\n/** @ignore */\nexport const MAGIC_STR = 'ARROW1';\n/** @ignore */\nexport const MAGIC = new Uint8Array(MAGIC_STR.length);\n\nfor (let i = 0; i < MAGIC_STR.length; i += 1 | 0) {\n MAGIC[i] = MAGIC_STR.charCodeAt(i);\n}\n\n/** @ignore */\nexport function checkForMagicArrowString(buffer: Uint8Array, index = 0) {\n for (let i = -1, n = MAGIC.length; ++i < n;) {\n if (MAGIC[i] !== buffer[index + i]) {\n return false;\n }\n }\n return true;\n}\n\n/** @ignore */\nexport const magicLength = MAGIC.length;\n/** @ignore */\nexport const magicAndPadding = magicLength + PADDING;\n/** @ignore */\nexport const magicX2AndPadding = magicLength * 2 + PADDING;\n"]}