@qualithm/arrow-flight-client 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/README.md +258 -0
- package/dist/client/create-flight-client.d.ts +28 -0
- package/dist/client/create-flight-client.d.ts.map +1 -0
- package/dist/client/create-flight-client.js +29 -0
- package/dist/client/create-flight-client.js.map +1 -0
- package/dist/client/create-flight-sql-client.d.ts +28 -0
- package/dist/client/create-flight-sql-client.d.ts.map +1 -0
- package/dist/client/create-flight-sql-client.js +29 -0
- package/dist/client/create-flight-sql-client.js.map +1 -0
- package/dist/client/errors.d.ts +81 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +106 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/flight-client.d.ts +161 -0
- package/dist/client/flight-client.d.ts.map +1 -0
- package/dist/client/flight-client.js +403 -0
- package/dist/client/flight-client.js.map +1 -0
- package/dist/client/flight-sql-client.d.ts +348 -0
- package/dist/client/flight-sql-client.d.ts.map +1 -0
- package/dist/client/flight-sql-client.js +689 -0
- package/dist/client/flight-sql-client.js.map +1 -0
- package/dist/client/index.d.ts +11 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +10 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/ipc.d.ts +131 -0
- package/dist/client/ipc.d.ts.map +1 -0
- package/dist/client/ipc.js +246 -0
- package/dist/client/ipc.js.map +1 -0
- package/dist/client/types.d.ts +153 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +26 -0
- package/dist/client/types.js.map +1 -0
- package/dist/gen/arrow/flight/FlightSql_pb.d.ts +3173 -0
- package/dist/gen/arrow/flight/FlightSql_pb.d.ts.map +1 -0
- package/dist/gen/arrow/flight/FlightSql_pb.js +2258 -0
- package/dist/gen/arrow/flight/FlightSql_pb.js.map +1 -0
- package/dist/gen/arrow/flight/Flight_pb.d.ts +1159 -0
- package/dist/gen/arrow/flight/Flight_pb.d.ts.map +1 -0
- package/dist/gen/arrow/flight/Flight_pb.js +397 -0
- package/dist/gen/arrow/flight/Flight_pb.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flight-sql-client.js","sourceRoot":"","sources":["../../src/client/flight-sql-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { createFlightClient } from "./create-flight-client.js";
|
|
2
|
+
export { createFlightSqlClient } from "./create-flight-sql-client.js";
|
|
3
|
+
export { FlightClient } from "./flight-client.js";
|
|
4
|
+
export type { ExecuteQueryOptions, ExecuteUpdateOptions, PreparedStatement, Transaction, UpdateResult } from "./flight-sql-client.js";
|
|
5
|
+
export { FlightSqlClient } from "./flight-sql-client.js";
|
|
6
|
+
export { FlightAuthError, FlightCancelledError, FlightConnectionError, FlightError, FlightServerError, FlightTimeoutError } from "./errors.js";
|
|
7
|
+
export type { DecodedFlightData } from "./ipc.js";
|
|
8
|
+
export { createFlightDataFromIpc, decodeFlightDataStream, decodeFlightDataToTable, encodeRecordBatchesToFlightData, encodeTableToFlightData, getSchemaFromFlightData, parseIpcMessage } from "./ipc.js";
|
|
9
|
+
export type { AuthOptions, BasicAuthCredentials, FlightAction, FlightClientOptions, FlightCriteria, FlightDescriptorInput, FlightTicket, ResolvedFlightClientOptions, TlsOptions } from "./types.js";
|
|
10
|
+
export { DEFAULT_TIMEOUT_MS } from "./types.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACb,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EAChB,MAAM,UAAU,CAAA;AAGjB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,2BAA2B,EAC3B,UAAU,EACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Client
|
|
2
|
+
export { createFlightClient } from "./create-flight-client.js";
|
|
3
|
+
export { createFlightSqlClient } from "./create-flight-sql-client.js";
|
|
4
|
+
export { FlightClient } from "./flight-client.js";
|
|
5
|
+
export { FlightSqlClient } from "./flight-sql-client.js";
|
|
6
|
+
// Errors
|
|
7
|
+
export { FlightAuthError, FlightCancelledError, FlightConnectionError, FlightError, FlightServerError, FlightTimeoutError } from "./errors.js";
|
|
8
|
+
export { createFlightDataFromIpc, decodeFlightDataStream, decodeFlightDataToTable, encodeRecordBatchesToFlightData, encodeTableToFlightData, getSchemaFromFlightData, parseIpcMessage } from "./ipc.js";
|
|
9
|
+
export { DEFAULT_TIMEOUT_MS } from "./types.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAQjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,SAAS;AACT,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EAChB,MAAM,UAAU,CAAA;AAcjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arrow IPC encoding and decoding utilities for Flight data streams.
|
|
3
|
+
*
|
|
4
|
+
* Flight uses Arrow IPC format to transfer data. FlightData messages contain:
|
|
5
|
+
* - `dataHeader`: Arrow IPC message header (schema or record batch header)
|
|
6
|
+
* - `dataBody`: Arrow IPC message body (data buffers)
|
|
7
|
+
*
|
|
8
|
+
* This module provides utilities to decode FlightData streams into Arrow
|
|
9
|
+
* RecordBatches and Tables, and to encode RecordBatches for upload.
|
|
10
|
+
*/
|
|
11
|
+
import { type RecordBatch, type Schema, Table, type TypeMap } from "apache-arrow";
|
|
12
|
+
import type { FlightData } from "../gen/arrow/flight/Flight_pb.js";
|
|
13
|
+
/**
|
|
14
|
+
* Result of decoding a single FlightData message.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* - `schema`: Message contained schema information
|
|
18
|
+
* - `batch`: Message contained a record batch
|
|
19
|
+
* - `empty`: Message contained no data (keep-alive)
|
|
20
|
+
*/
|
|
21
|
+
export type DecodedFlightData = {
|
|
22
|
+
/** Schema message type. */
|
|
23
|
+
type: "schema";
|
|
24
|
+
/** Decoded Arrow schema. */
|
|
25
|
+
schema: Schema;
|
|
26
|
+
} | {
|
|
27
|
+
/** Record batch message type. */
|
|
28
|
+
type: "batch";
|
|
29
|
+
/** Decoded Arrow record batch. */
|
|
30
|
+
batch: RecordBatch;
|
|
31
|
+
} | {
|
|
32
|
+
/** Empty message type (keep-alive). */
|
|
33
|
+
type: "empty";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Decode a stream of FlightData messages into Arrow RecordBatches.
|
|
37
|
+
*
|
|
38
|
+
* The first message typically contains the schema. Subsequent messages
|
|
39
|
+
* contain record batches.
|
|
40
|
+
*
|
|
41
|
+
* @param stream - Async iterable of FlightData messages
|
|
42
|
+
* @yields RecordBatch objects
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const stream = client.doGetFlightData(ticket)
|
|
47
|
+
* for await (const batch of decodeFlightDataStream(stream)) {
|
|
48
|
+
* console.log(`Received batch with ${batch.numRows} rows`)
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function decodeFlightDataStream<T extends TypeMap = TypeMap>(stream: AsyncIterable<FlightData>): AsyncGenerator<RecordBatch<T>>;
|
|
53
|
+
/**
|
|
54
|
+
* Decode a stream of FlightData messages into an Arrow Table.
|
|
55
|
+
*
|
|
56
|
+
* Collects all record batches from the stream and combines them into a single table.
|
|
57
|
+
*
|
|
58
|
+
* @param stream - Async iterable of FlightData messages
|
|
59
|
+
* @returns Arrow Table containing all data from the stream
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const stream = client.doGetFlightData(ticket)
|
|
64
|
+
* const table = await decodeFlightDataToTable(stream)
|
|
65
|
+
* console.log(`Received table with ${table.numRows} rows`)
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function decodeFlightDataToTable<T extends TypeMap = TypeMap>(stream: AsyncIterable<FlightData>): Promise<Table<T>>;
|
|
69
|
+
/**
|
|
70
|
+
* Encode Arrow RecordBatches into FlightData messages for upload.
|
|
71
|
+
*
|
|
72
|
+
* Produces a stream of FlightData messages suitable for DoPut operations.
|
|
73
|
+
* The first message contains the schema, followed by record batch messages.
|
|
74
|
+
*
|
|
75
|
+
* @param batches - Async iterable of RecordBatch objects to encode
|
|
76
|
+
* @param schema - Arrow Schema for the data
|
|
77
|
+
* @yields FlightData messages
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts
|
|
81
|
+
* const batches = [recordBatch1, recordBatch2]
|
|
82
|
+
* const flightData = encodeRecordBatchesToFlightData(batches, schema)
|
|
83
|
+
* await client.doPut(descriptor, flightData)
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function encodeRecordBatchesToFlightData(batches: AsyncIterable<RecordBatch> | Iterable<RecordBatch>, schema: Schema): AsyncGenerator<FlightData>;
|
|
87
|
+
/**
|
|
88
|
+
* Encode an Arrow Table into FlightData messages for upload.
|
|
89
|
+
*
|
|
90
|
+
* @param table - Arrow Table to encode
|
|
91
|
+
* @yields FlightData messages
|
|
92
|
+
*/
|
|
93
|
+
export declare function encodeTableToFlightData(table: Table): AsyncGenerator<FlightData>;
|
|
94
|
+
/**
|
|
95
|
+
* Create a FlightData message from raw IPC bytes.
|
|
96
|
+
*
|
|
97
|
+
* Parses the IPC message to extract header and body components,
|
|
98
|
+
* creating a properly structured FlightData message.
|
|
99
|
+
*
|
|
100
|
+
* @param ipcBytes - Raw Arrow IPC bytes from RecordBatchStreamWriter
|
|
101
|
+
* @returns FlightData message with separated header and body
|
|
102
|
+
*/
|
|
103
|
+
export declare function createFlightDataFromIpc(ipcBytes: Uint8Array): FlightData;
|
|
104
|
+
/**
|
|
105
|
+
* Parse an IPC message into header and body components.
|
|
106
|
+
*
|
|
107
|
+
* Arrow IPC format:
|
|
108
|
+
* - 4 bytes: continuation marker (0xFFFFFFFF)
|
|
109
|
+
* - 4 bytes: metadata size (little-endian)
|
|
110
|
+
* - N bytes: metadata (FlatBuffer, padded to 8-byte boundary)
|
|
111
|
+
* - M bytes: body (data buffers)
|
|
112
|
+
*
|
|
113
|
+
* @internal Exported for testing purposes
|
|
114
|
+
* @param ipcBytes - Raw IPC message bytes
|
|
115
|
+
* @returns Object with header and body Uint8Arrays
|
|
116
|
+
*/
|
|
117
|
+
export declare function parseIpcMessage(ipcBytes: Uint8Array): {
|
|
118
|
+
header: Uint8Array;
|
|
119
|
+
body: Uint8Array;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Get the schema from a FlightData stream.
|
|
123
|
+
*
|
|
124
|
+
* Decodes the stream to extract the schema from the first record batch.
|
|
125
|
+
* Note: This consumes the stream.
|
|
126
|
+
*
|
|
127
|
+
* @param stream - Async iterable of FlightData messages
|
|
128
|
+
* @returns The Arrow Schema from the stream
|
|
129
|
+
*/
|
|
130
|
+
export declare function getSchemaFromFlightData(stream: AsyncIterable<FlightData>): Promise<Schema | undefined>;
|
|
131
|
+
//# sourceMappingURL=ipc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../src/client/ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,MAAM,EACX,KAAK,EACL,KAAK,OAAO,EACb,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB;IACE,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf,GACD;IACE,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,kCAAkC;IAClC,KAAK,EAAE,WAAW,CAAA;CACnB,GACD;IACE,uCAAuC;IACvC,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAEL;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAuB,sBAAsB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EACvE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAChC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAmChC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EACvE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAanB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAuB,+BAA+B,CACpD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EAC3D,MAAM,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,CAAC,CAuB5B;AAED;;;;;GAKG;AACH,wBAAuB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAEvF;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAWxE;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAkC9F;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arrow IPC encoding and decoding utilities for Flight data streams.
|
|
3
|
+
*
|
|
4
|
+
* Flight uses Arrow IPC format to transfer data. FlightData messages contain:
|
|
5
|
+
* - `dataHeader`: Arrow IPC message header (schema or record batch header)
|
|
6
|
+
* - `dataBody`: Arrow IPC message body (data buffers)
|
|
7
|
+
*
|
|
8
|
+
* This module provides utilities to decode FlightData streams into Arrow
|
|
9
|
+
* RecordBatches and Tables, and to encode RecordBatches for upload.
|
|
10
|
+
*/
|
|
11
|
+
import { RecordBatchReader, RecordBatchStreamWriter, Table } from "apache-arrow";
|
|
12
|
+
/**
|
|
13
|
+
* Decode a stream of FlightData messages into Arrow RecordBatches.
|
|
14
|
+
*
|
|
15
|
+
* The first message typically contains the schema. Subsequent messages
|
|
16
|
+
* contain record batches.
|
|
17
|
+
*
|
|
18
|
+
* @param stream - Async iterable of FlightData messages
|
|
19
|
+
* @yields RecordBatch objects
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const stream = client.doGetFlightData(ticket)
|
|
24
|
+
* for await (const batch of decodeFlightDataStream(stream)) {
|
|
25
|
+
* console.log(`Received batch with ${batch.numRows} rows`)
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export async function* decodeFlightDataStream(stream) {
|
|
30
|
+
// Collect all IPC data from the stream
|
|
31
|
+
const ipcChunks = [];
|
|
32
|
+
for await (const data of stream) {
|
|
33
|
+
// Skip empty messages
|
|
34
|
+
if (data.dataHeader.length === 0 && data.dataBody.length === 0) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
// Reconstruct the IPC message by concatenating header and body
|
|
38
|
+
// Arrow IPC streaming format: [continuation, metadata_size, metadata, body]
|
|
39
|
+
const ipcMessage = createIpcMessage(data.dataHeader, data.dataBody);
|
|
40
|
+
ipcChunks.push(ipcMessage);
|
|
41
|
+
}
|
|
42
|
+
if (ipcChunks.length === 0) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// Combine all chunks into a single buffer for the reader
|
|
46
|
+
const totalLength = ipcChunks.reduce((sum, chunk) => sum + chunk.length, 0);
|
|
47
|
+
const combined = new Uint8Array(totalLength);
|
|
48
|
+
let offset = 0;
|
|
49
|
+
for (const chunk of ipcChunks) {
|
|
50
|
+
combined.set(chunk, offset);
|
|
51
|
+
offset += chunk.length;
|
|
52
|
+
}
|
|
53
|
+
// Use RecordBatchReader to decode the IPC stream
|
|
54
|
+
const reader = RecordBatchReader.from(combined);
|
|
55
|
+
for await (const batch of reader) {
|
|
56
|
+
yield batch;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Decode a stream of FlightData messages into an Arrow Table.
|
|
61
|
+
*
|
|
62
|
+
* Collects all record batches from the stream and combines them into a single table.
|
|
63
|
+
*
|
|
64
|
+
* @param stream - Async iterable of FlightData messages
|
|
65
|
+
* @returns Arrow Table containing all data from the stream
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* const stream = client.doGetFlightData(ticket)
|
|
70
|
+
* const table = await decodeFlightDataToTable(stream)
|
|
71
|
+
* console.log(`Received table with ${table.numRows} rows`)
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export async function decodeFlightDataToTable(stream) {
|
|
75
|
+
const batches = [];
|
|
76
|
+
for await (const batch of decodeFlightDataStream(stream)) {
|
|
77
|
+
batches.push(batch);
|
|
78
|
+
}
|
|
79
|
+
if (batches.length === 0) {
|
|
80
|
+
throw new Error("no record batches received from stream");
|
|
81
|
+
}
|
|
82
|
+
// Create table from the collected batches
|
|
83
|
+
return new Table(batches);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Encode Arrow RecordBatches into FlightData messages for upload.
|
|
87
|
+
*
|
|
88
|
+
* Produces a stream of FlightData messages suitable for DoPut operations.
|
|
89
|
+
* The first message contains the schema, followed by record batch messages.
|
|
90
|
+
*
|
|
91
|
+
* @param batches - Async iterable of RecordBatch objects to encode
|
|
92
|
+
* @param schema - Arrow Schema for the data
|
|
93
|
+
* @yields FlightData messages
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const batches = [recordBatch1, recordBatch2]
|
|
98
|
+
* const flightData = encodeRecordBatchesToFlightData(batches, schema)
|
|
99
|
+
* await client.doPut(descriptor, flightData)
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export async function* encodeRecordBatchesToFlightData(batches, schema) {
|
|
103
|
+
// Collect all batches first (we need to write them as a complete IPC stream)
|
|
104
|
+
const batchArray = [];
|
|
105
|
+
for await (const batch of batches) {
|
|
106
|
+
batchArray.push(batch);
|
|
107
|
+
}
|
|
108
|
+
// Create an IPC stream writer and write all batches
|
|
109
|
+
const writer = new RecordBatchStreamWriter();
|
|
110
|
+
writer.reset(undefined, schema);
|
|
111
|
+
for (const batch of batchArray) {
|
|
112
|
+
writer.write(batch);
|
|
113
|
+
}
|
|
114
|
+
writer.finish();
|
|
115
|
+
// Get the complete IPC stream
|
|
116
|
+
const ipcBytes = writer.toUint8Array(true);
|
|
117
|
+
if (ipcBytes.length > 0) {
|
|
118
|
+
// Yield the complete IPC stream as a single FlightData message
|
|
119
|
+
yield createFlightData(ipcBytes);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Encode an Arrow Table into FlightData messages for upload.
|
|
124
|
+
*
|
|
125
|
+
* @param table - Arrow Table to encode
|
|
126
|
+
* @yields FlightData messages
|
|
127
|
+
*/
|
|
128
|
+
export async function* encodeTableToFlightData(table) {
|
|
129
|
+
yield* encodeRecordBatchesToFlightData(table.batches, table.schema);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Create an IPC message from Flight data header and body.
|
|
133
|
+
*
|
|
134
|
+
* Arrow IPC streaming format uses a continuation marker, followed by
|
|
135
|
+
* the metadata size, metadata, and body.
|
|
136
|
+
*/
|
|
137
|
+
function createIpcMessage(dataHeader, dataBody) {
|
|
138
|
+
// Arrow IPC stream format:
|
|
139
|
+
// - 4 bytes: continuation marker (0xFFFFFFFF)
|
|
140
|
+
// - 4 bytes: metadata size (little-endian)
|
|
141
|
+
// - N bytes: metadata (dataHeader, padded to 8-byte boundary)
|
|
142
|
+
// - M bytes: body (dataBody)
|
|
143
|
+
const continuationMarker = 0xffffffff;
|
|
144
|
+
const alignment = 8;
|
|
145
|
+
// Pad metadata to 8-byte boundary
|
|
146
|
+
const metadataPaddedLength = Math.ceil(dataHeader.length / alignment) * alignment;
|
|
147
|
+
const padding = metadataPaddedLength - dataHeader.length;
|
|
148
|
+
const messageLength = 4 + 4 + metadataPaddedLength + dataBody.length;
|
|
149
|
+
const message = new Uint8Array(messageLength);
|
|
150
|
+
const view = new DataView(message.buffer);
|
|
151
|
+
let offset = 0;
|
|
152
|
+
// Write continuation marker
|
|
153
|
+
view.setUint32(offset, continuationMarker, true);
|
|
154
|
+
offset += 4;
|
|
155
|
+
// Write metadata size (original size, not padded)
|
|
156
|
+
view.setInt32(offset, dataHeader.length, true);
|
|
157
|
+
offset += 4;
|
|
158
|
+
// Write metadata (header)
|
|
159
|
+
message.set(dataHeader, offset);
|
|
160
|
+
offset += dataHeader.length;
|
|
161
|
+
// Add padding (zeros)
|
|
162
|
+
offset += padding;
|
|
163
|
+
// Write body
|
|
164
|
+
message.set(dataBody, offset);
|
|
165
|
+
return message;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Create a FlightData message from raw IPC bytes.
|
|
169
|
+
*
|
|
170
|
+
* Parses the IPC message to extract header and body components,
|
|
171
|
+
* creating a properly structured FlightData message.
|
|
172
|
+
*
|
|
173
|
+
* @param ipcBytes - Raw Arrow IPC bytes from RecordBatchStreamWriter
|
|
174
|
+
* @returns FlightData message with separated header and body
|
|
175
|
+
*/
|
|
176
|
+
export function createFlightDataFromIpc(ipcBytes) {
|
|
177
|
+
// Parse the IPC message to extract header and body
|
|
178
|
+
const { header, body } = parseIpcMessage(ipcBytes);
|
|
179
|
+
return {
|
|
180
|
+
$typeName: "arrow.flight.protocol.FlightData",
|
|
181
|
+
flightDescriptor: undefined,
|
|
182
|
+
dataHeader: header,
|
|
183
|
+
appMetadata: new Uint8Array(),
|
|
184
|
+
dataBody: body
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
// Internal alias for backward compatibility
|
|
188
|
+
const createFlightData = createFlightDataFromIpc;
|
|
189
|
+
/**
|
|
190
|
+
* Parse an IPC message into header and body components.
|
|
191
|
+
*
|
|
192
|
+
* Arrow IPC format:
|
|
193
|
+
* - 4 bytes: continuation marker (0xFFFFFFFF)
|
|
194
|
+
* - 4 bytes: metadata size (little-endian)
|
|
195
|
+
* - N bytes: metadata (FlatBuffer, padded to 8-byte boundary)
|
|
196
|
+
* - M bytes: body (data buffers)
|
|
197
|
+
*
|
|
198
|
+
* @internal Exported for testing purposes
|
|
199
|
+
* @param ipcBytes - Raw IPC message bytes
|
|
200
|
+
* @returns Object with header and body Uint8Arrays
|
|
201
|
+
*/
|
|
202
|
+
export function parseIpcMessage(ipcBytes) {
|
|
203
|
+
if (ipcBytes.length < 8) {
|
|
204
|
+
return { header: new Uint8Array(), body: ipcBytes };
|
|
205
|
+
}
|
|
206
|
+
const view = new DataView(ipcBytes.buffer, ipcBytes.byteOffset);
|
|
207
|
+
// Check for continuation marker
|
|
208
|
+
const marker = view.getUint32(0, true);
|
|
209
|
+
if (marker !== 0xffffffff) {
|
|
210
|
+
// No continuation marker - might be a different format
|
|
211
|
+
return { header: ipcBytes, body: new Uint8Array() };
|
|
212
|
+
}
|
|
213
|
+
// Read metadata size
|
|
214
|
+
const metadataSize = view.getInt32(4, true);
|
|
215
|
+
if (metadataSize <= 0) {
|
|
216
|
+
// End-of-stream marker
|
|
217
|
+
return { header: new Uint8Array(), body: new Uint8Array() };
|
|
218
|
+
}
|
|
219
|
+
// Calculate padded metadata size (8-byte aligned)
|
|
220
|
+
const alignment = 8;
|
|
221
|
+
const metadataPaddedSize = Math.ceil(metadataSize / alignment) * alignment;
|
|
222
|
+
// Extract header (metadata) and body
|
|
223
|
+
const headerStart = 8;
|
|
224
|
+
const headerEnd = headerStart + metadataSize;
|
|
225
|
+
const bodyStart = 8 + metadataPaddedSize;
|
|
226
|
+
const header = ipcBytes.slice(headerStart, headerEnd);
|
|
227
|
+
const body = bodyStart < ipcBytes.length ? ipcBytes.slice(bodyStart) : new Uint8Array();
|
|
228
|
+
return { header, body };
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Get the schema from a FlightData stream.
|
|
232
|
+
*
|
|
233
|
+
* Decodes the stream to extract the schema from the first record batch.
|
|
234
|
+
* Note: This consumes the stream.
|
|
235
|
+
*
|
|
236
|
+
* @param stream - Async iterable of FlightData messages
|
|
237
|
+
* @returns The Arrow Schema from the stream
|
|
238
|
+
*/
|
|
239
|
+
export async function getSchemaFromFlightData(stream) {
|
|
240
|
+
// Use decodeFlightDataStream to get the first batch and return its schema
|
|
241
|
+
for await (const batch of decodeFlightDataStream(stream)) {
|
|
242
|
+
return batch.schema;
|
|
243
|
+
}
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=ipc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/client/ipc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type * as http2 from "node:http2";
|
|
2
|
+
/**
|
|
3
|
+
* TLS options for mTLS authentication.
|
|
4
|
+
* These are passed directly to Node.js HTTP/2 client.
|
|
5
|
+
*/
|
|
6
|
+
export type TlsOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* Client certificate (PEM format).
|
|
9
|
+
*/
|
|
10
|
+
cert?: string | Buffer;
|
|
11
|
+
/**
|
|
12
|
+
* Client private key (PEM format).
|
|
13
|
+
*/
|
|
14
|
+
key?: string | Buffer;
|
|
15
|
+
/**
|
|
16
|
+
* CA certificate(s) for server verification (PEM format).
|
|
17
|
+
* If not provided, uses default system CA.
|
|
18
|
+
*/
|
|
19
|
+
ca?: string | Buffer | (string | Buffer)[];
|
|
20
|
+
/**
|
|
21
|
+
* Passphrase for the private key.
|
|
22
|
+
*/
|
|
23
|
+
passphrase?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to reject unauthorised certificates.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
rejectUnauthorized?: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Basic authentication credentials for Flight Handshake.
|
|
32
|
+
*/
|
|
33
|
+
export type BasicAuthCredentials = {
|
|
34
|
+
/** Username for authentication. */
|
|
35
|
+
username: string;
|
|
36
|
+
/** Password for authentication. */
|
|
37
|
+
password: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Authentication options for Flight client.
|
|
41
|
+
* Only one authentication method should be specified.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* - `bearer`: Sets Authorization header with Bearer token
|
|
45
|
+
* - `basic`: Uses Flight Handshake RPC with BasicAuth credentials
|
|
46
|
+
* - `none`: No authentication
|
|
47
|
+
*/
|
|
48
|
+
export type AuthOptions = {
|
|
49
|
+
/** Bearer token authentication type. */
|
|
50
|
+
type: "bearer";
|
|
51
|
+
/** Bearer token value. */
|
|
52
|
+
token: string;
|
|
53
|
+
} | {
|
|
54
|
+
/** Basic authentication type using Flight Handshake. */
|
|
55
|
+
type: "basic";
|
|
56
|
+
/** Username and password credentials. */
|
|
57
|
+
credentials: BasicAuthCredentials;
|
|
58
|
+
} | {
|
|
59
|
+
/** No authentication. */
|
|
60
|
+
type: "none";
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Configuration options for creating a Flight client.
|
|
64
|
+
*/
|
|
65
|
+
export type FlightClientOptions = {
|
|
66
|
+
/**
|
|
67
|
+
* The base URL of the Flight server.
|
|
68
|
+
* Should include protocol (http:// or https://).
|
|
69
|
+
* @example "https://flight.example.com:8815"
|
|
70
|
+
*/
|
|
71
|
+
url: string;
|
|
72
|
+
/**
|
|
73
|
+
* Optional headers to include with every request.
|
|
74
|
+
* Useful for custom metadata. For authentication, prefer using the `auth` option.
|
|
75
|
+
*/
|
|
76
|
+
headers?: Record<string, string>;
|
|
77
|
+
/**
|
|
78
|
+
* Request timeout in milliseconds.
|
|
79
|
+
* @default 30000
|
|
80
|
+
*/
|
|
81
|
+
timeoutMs?: number;
|
|
82
|
+
/**
|
|
83
|
+
* Authentication options.
|
|
84
|
+
* - `bearer`: Sets Authorization header with Bearer token
|
|
85
|
+
* - `basic`: Uses Flight Handshake RPC with BasicAuth
|
|
86
|
+
* - `none`: No authentication (default)
|
|
87
|
+
*/
|
|
88
|
+
auth?: AuthOptions;
|
|
89
|
+
/**
|
|
90
|
+
* TLS options for mTLS authentication.
|
|
91
|
+
* Passed to the underlying Node.js HTTP/2 client.
|
|
92
|
+
*/
|
|
93
|
+
tls?: TlsOptions;
|
|
94
|
+
/**
|
|
95
|
+
* Additional Node.js HTTP/2 session options.
|
|
96
|
+
* Advanced use only.
|
|
97
|
+
*/
|
|
98
|
+
nodeOptions?: http2.ClientSessionOptions | http2.SecureClientSessionOptions;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Resolved configuration with defaults applied.
|
|
102
|
+
*/
|
|
103
|
+
export type ResolvedFlightClientOptions = Required<Pick<FlightClientOptions, "url" | "timeoutMs">> & Pick<FlightClientOptions, "headers" | "auth" | "tls" | "nodeOptions">;
|
|
104
|
+
/**
|
|
105
|
+
* Default timeout for Flight client requests (30 seconds).
|
|
106
|
+
*/
|
|
107
|
+
export declare const DEFAULT_TIMEOUT_MS = 30000;
|
|
108
|
+
/**
|
|
109
|
+
* Applies default values to client options.
|
|
110
|
+
*/
|
|
111
|
+
export declare function resolveOptions(options: FlightClientOptions): ResolvedFlightClientOptions;
|
|
112
|
+
/**
|
|
113
|
+
* Descriptor for a Flight — either a path or a command.
|
|
114
|
+
*
|
|
115
|
+
* @remarks
|
|
116
|
+
* - `path`: Identifies a dataset by hierarchical path (e.g., ["database", "table"])
|
|
117
|
+
* - `cmd`: Identifies a dataset by an opaque command (e.g., serialised SQL query)
|
|
118
|
+
*/
|
|
119
|
+
export type FlightDescriptorInput = {
|
|
120
|
+
/** Path-based descriptor type. */
|
|
121
|
+
type: "path";
|
|
122
|
+
/** Hierarchical path segments identifying the dataset. */
|
|
123
|
+
path: string[];
|
|
124
|
+
} | {
|
|
125
|
+
/** Command-based descriptor type. */
|
|
126
|
+
type: "cmd";
|
|
127
|
+
/** Opaque command bytes (e.g., serialised SQL query). */
|
|
128
|
+
cmd: Uint8Array;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Criteria for listing flights.
|
|
132
|
+
*/
|
|
133
|
+
export type FlightCriteria = {
|
|
134
|
+
/** Filter expression (server-specific) */
|
|
135
|
+
expression?: Uint8Array;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Ticket for retrieving a specific flight stream.
|
|
139
|
+
*/
|
|
140
|
+
export type FlightTicket = {
|
|
141
|
+
/** Opaque ticket bytes returned by the server in FlightEndpoint. */
|
|
142
|
+
ticket: Uint8Array;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Action request for DoAction RPC.
|
|
146
|
+
*/
|
|
147
|
+
export type FlightAction = {
|
|
148
|
+
/** Action type identifier (e.g., "DropDataset", "CancelFlightInfo"). */
|
|
149
|
+
type: string;
|
|
150
|
+
/** Optional action body containing serialised parameters. */
|
|
151
|
+
body?: Uint8Array;
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAErB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAE1C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,wCAAwC;IACxC,IAAI,EAAE,QAAQ,CAAA;IACd,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd,GACD;IACE,wDAAwD;IACxD,IAAI,EAAE,OAAO,CAAA;IACb,yCAAyC;IACzC,WAAW,EAAE,oBAAoB,CAAA;CAClC,GACD;IACE,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAEL;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,UAAU,CAAA;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,0BAA0B,CAAA;CAC5E,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC,GAChG,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,2BAA2B,CAkBxF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IACE,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GACD;IACE,qCAAqC;IACrC,IAAI,EAAE,KAAK,CAAA;IACX,yDAAyD;IACzD,GAAG,EAAE,UAAU,CAAA;CAChB,CAAA;AAEL;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,oEAAoE;IACpE,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default timeout for Flight client requests (30 seconds).
|
|
3
|
+
*/
|
|
4
|
+
export const DEFAULT_TIMEOUT_MS = 30_000;
|
|
5
|
+
/**
|
|
6
|
+
* Applies default values to client options.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveOptions(options) {
|
|
9
|
+
// Build headers, adding Bearer token if auth type is bearer
|
|
10
|
+
let headers = options.headers ? { ...options.headers } : undefined;
|
|
11
|
+
if (options.auth?.type === "bearer") {
|
|
12
|
+
headers = {
|
|
13
|
+
...headers,
|
|
14
|
+
Authorization: `Bearer ${options.auth.token}`
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
url: options.url,
|
|
19
|
+
headers,
|
|
20
|
+
timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS,
|
|
21
|
+
auth: options.auth,
|
|
22
|
+
tls: options.tls,
|
|
23
|
+
nodeOptions: options.nodeOptions
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AA0HA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAA;AAExC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAA4B;IACzD,4DAA4D;IAC5D,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG;YACR,GAAG,OAAO;YACV,aAAa,EAAE,UAAU,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;SAC9C,CAAA;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,kBAAkB;QAClD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAA;AACH,CAAC"}
|