@gizmodata/gizmosql-client 1.2.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.
@@ -0,0 +1,5 @@
1
+ export { FlightClient } from './flight-client';
2
+ export { FlightSQLClient } from './flightsql-client';
3
+ export * from './types';
4
+ export * from './errors';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.FlightSQLClient = exports.FlightClient = void 0;
18
+ var flight_client_1 = require("./flight-client");
19
+ Object.defineProperty(exports, "FlightClient", { enumerable: true, get: function () { return flight_client_1.FlightClient; } });
20
+ var flightsql_client_1 = require("./flightsql-client");
21
+ Object.defineProperty(exports, "FlightSQLClient", { enumerable: true, get: function () { return flightsql_client_1.FlightSQLClient; } });
22
+ __exportStar(require("./types"), exports);
23
+ __exportStar(require("./errors"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,0CAAwB;AACxB,2CAAyB"}
@@ -0,0 +1,54 @@
1
+ export interface FlightClientConfig {
2
+ host: string;
3
+ port: number;
4
+ plaintext?: boolean;
5
+ tlsSkipVerify?: boolean;
6
+ username?: string;
7
+ password?: string;
8
+ token?: string;
9
+ }
10
+ export type FlightSQLClientConfig = FlightClientConfig;
11
+ export interface PreparedStatement {
12
+ handle: Uint8Array;
13
+ parameterSchema?: any;
14
+ resultSchema?: any;
15
+ }
16
+ export interface FlightInfo {
17
+ endpoint: string;
18
+ ticket: Uint8Array;
19
+ totalRecords: number;
20
+ totalBytes: number;
21
+ }
22
+ export interface DatabaseMetadata {
23
+ catalogs: string[];
24
+ schemas: Array<{
25
+ catalog: string;
26
+ schema: string;
27
+ }>;
28
+ tables: Array<{
29
+ catalog: string;
30
+ schema: string;
31
+ tableName: string;
32
+ tableType: string;
33
+ }>;
34
+ }
35
+ export interface TableMetadata {
36
+ primaryKeys: Array<{
37
+ catalogName: string;
38
+ schemaName: string;
39
+ tableName: string;
40
+ columnName: string;
41
+ keySequence: number;
42
+ }>;
43
+ foreignKeys: Array<{
44
+ pkCatalogName: string;
45
+ pkSchemaName: string;
46
+ pkTableName: string;
47
+ pkColumnName: string;
48
+ fkCatalogName: string;
49
+ fkSchemaName: string;
50
+ fkTableName: string;
51
+ fkColumnName: string;
52
+ }>;
53
+ }
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,KAAK,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,WAAW,EAAE,KAAK,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { FlightError } from './errors';
2
+ export declare function createConnectionString(host: string, port: number, plaintext: boolean): string;
3
+ export declare function validateConfig(config: {
4
+ host: string;
5
+ port: number;
6
+ }): void;
7
+ export declare function parseErrorFromGrpc(error: any): FlightError;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAG7F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO3E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,WAAW,CAS1D"}
package/dist/utils.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createConnectionString = createConnectionString;
4
+ exports.validateConfig = validateConfig;
5
+ exports.parseErrorFromGrpc = parseErrorFromGrpc;
6
+ const errors_1 = require("./errors");
7
+ function createConnectionString(host, port, plaintext) {
8
+ const protocol = plaintext ? 'http' : 'https';
9
+ return `${protocol}://${host}:${port}`;
10
+ }
11
+ function validateConfig(config) {
12
+ if (!config.host) {
13
+ throw new errors_1.FlightError('Host is required');
14
+ }
15
+ if (!config.port || config.port <= 0) {
16
+ throw new errors_1.FlightError('Valid port number is required');
17
+ }
18
+ }
19
+ function parseErrorFromGrpc(error) {
20
+ if (error.code === 16) { // UNAUTHENTICATED
21
+ return new errors_1.FlightError('Authentication failed', 'UNAUTHENTICATED');
22
+ }
23
+ if (error.code === 14) { // UNAVAILABLE
24
+ return new errors_1.FlightError('Service unavailable', 'UNAVAILABLE');
25
+ }
26
+ return new errors_1.FlightError(error.message || 'Unknown error', error.code?.toString());
27
+ }
28
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAEA,wDAGC;AAED,wCAOC;AAED,gDASC;AAzBD,qCAAuC;AAEvC,SAAgB,sBAAsB,CAAC,IAAY,EAAE,IAAY,EAAE,SAAkB;IACnF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,OAAO,GAAG,QAAQ,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,cAAc,CAAC,MAAsC;IACnE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,oBAAW,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,oBAAW,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC,kBAAkB;QACzC,OAAO,IAAI,oBAAW,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc;QACrC,OAAO,IAAI,oBAAW,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,IAAI,oBAAW,CAAC,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnF,CAAC"}
package/package.json ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "name": "@gizmodata/gizmosql-client",
3
+ "version": "1.2.0",
4
+ "description": "A TypeScript/JavaScript client for GizmoSQL and Apache Arrow Flight SQL",
5
+ "author": "GizmoData LLC",
6
+ "license": "Apache-2.0",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/gizmodata/gizmosql-client-js.git"
10
+ },
11
+ "homepage": "https://github.com/gizmodata/gizmosql-client-js#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/gizmodata/gizmosql-client-js/issues"
14
+ },
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "files": [
18
+ "dist/",
19
+ "README.md",
20
+ "LICENSE",
21
+ "NOTICE"
22
+ ],
23
+ "scripts": {
24
+ "prebuild": "npm run clean && npm run proto:generate",
25
+ "build": "tsc -p tsconfig.json",
26
+ "postbuild": "cp -r src/generated dist/generated",
27
+ "clean": "rimraf dist/",
28
+ "dev": "tsc -p tsconfig.json --watch",
29
+ "test": "jest --testPathIgnorePatterns=integration",
30
+ "test:unit": "jest --testPathIgnorePatterns=integration",
31
+ "test:integration": "jest --testPathPatterns=integration",
32
+ "test:all": "jest",
33
+ "test:watch": "jest --watch --testPathIgnorePatterns=integration",
34
+ "lint": "eslint src test --fix",
35
+ "lint:ci": "eslint src test",
36
+ "typecheck": "tsc --noEmit",
37
+ "prepublishOnly": "npm run build && npm test && npm run lint:ci",
38
+ "proto:generate": "grpc_tools_node_protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:./src/generated --js_out=import_style=commonjs,binary:./src/generated --grpc_out=grpc_js:./src/generated proto/*.proto"
39
+ },
40
+ "keywords": [
41
+ "gizmosql",
42
+ "gizmodata",
43
+ "arrow",
44
+ "flight",
45
+ "flightsql",
46
+ "apache-arrow",
47
+ "grpc",
48
+ "sql",
49
+ "database",
50
+ "analytics",
51
+ "duckdb"
52
+ ],
53
+ "dependencies": {
54
+ "@grpc/grpc-js": "^1.13.4",
55
+ "apache-arrow": "^21.0.0",
56
+ "google-protobuf": "^4.0.0"
57
+ },
58
+ "devDependencies": {
59
+ "@eslint/js": "^9.35.0",
60
+ "@types/google-protobuf": "^3.15.12",
61
+ "@types/jest": "^30.0.0",
62
+ "@types/node": "^24.3.3",
63
+ "eslint": "^9.35.0",
64
+ "eslint-plugin-jest": "^29.0.1",
65
+ "eslint-plugin-unicorn": "^61.0.2",
66
+ "grpc_tools_node_protoc_ts": "^5.3.3",
67
+ "grpc-tools": "^1.13.1",
68
+ "jest": "^30.1.3",
69
+ "rimraf": "^6.0.1",
70
+ "ts-jest": "^29.4.1",
71
+ "typescript": "^5.9.2",
72
+ "typescript-eslint": "^8.43.0"
73
+ },
74
+ "engines": {
75
+ "node": ">=20.0.0"
76
+ },
77
+ "overrides": {
78
+ "test-exclude": "^7.0.1"
79
+ }
80
+ }