@polyglot-sql/sdk 0.5.0 → 0.5.2
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/README.md +54 -0
- package/dist/cdn/polyglot.esm.js +1591 -1439
- package/dist/index.cjs +213 -0
- package/dist/index.d.cts +160 -1
- package/dist/index.d.ts +160 -1
- package/dist/index.js +247 -1
- package/dist/index.node.js +207 -0
- package/dist/manual.js +235 -1
- package/dist/polyglot_sql.wasm +0 -0
- package/package.json +1 -1
package/dist/manual.js
CHANGED
|
@@ -1552,6 +1552,46 @@ class WasmWindowDefBuilder {
|
|
|
1552
1552
|
}
|
|
1553
1553
|
if (Symbol.dispose) WasmWindowDefBuilder.prototype[Symbol.dispose] = WasmWindowDefBuilder.prototype.free;
|
|
1554
1554
|
|
|
1555
|
+
/**
|
|
1556
|
+
* Return compact query analysis facts for a SELECT or set operation.
|
|
1557
|
+
* @param {string} sql
|
|
1558
|
+
* @param {string} options_json
|
|
1559
|
+
* @returns {string}
|
|
1560
|
+
*/
|
|
1561
|
+
function analyze_query(sql, options_json) {
|
|
1562
|
+
let deferred3_0;
|
|
1563
|
+
let deferred3_1;
|
|
1564
|
+
try {
|
|
1565
|
+
const retptr = wasm$2.__wbindgen_add_to_stack_pointer(-16);
|
|
1566
|
+
const ptr0 = passStringToWasm0(sql, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
1567
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1568
|
+
const ptr1 = passStringToWasm0(options_json, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
1569
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1570
|
+
wasm$2.analyze_query(retptr, ptr0, len0, ptr1, len1);
|
|
1571
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1572
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1573
|
+
deferred3_0 = r0;
|
|
1574
|
+
deferred3_1 = r1;
|
|
1575
|
+
return getStringFromWasm0(r0, r1);
|
|
1576
|
+
} finally {
|
|
1577
|
+
wasm$2.__wbindgen_add_to_stack_pointer(16);
|
|
1578
|
+
wasm$2.__wbindgen_export4(deferred3_0, deferred3_1, 1);
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
/**
|
|
1583
|
+
* Return compact query analysis facts as a structured JS value.
|
|
1584
|
+
* @param {string} sql
|
|
1585
|
+
* @param {any} options
|
|
1586
|
+
* @returns {any}
|
|
1587
|
+
*/
|
|
1588
|
+
function analyze_query_value(sql, options) {
|
|
1589
|
+
const ptr0 = passStringToWasm0(sql, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
1590
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1591
|
+
const ret = wasm$2.analyze_query_value(ptr0, len0, addHeapObject(options));
|
|
1592
|
+
return takeObject(ret);
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1555
1595
|
/**
|
|
1556
1596
|
* Annotate types on a parsed SQL AST in-place.
|
|
1557
1597
|
*
|
|
@@ -2217,6 +2257,46 @@ function generate$1(ast_json, dialect) {
|
|
|
2217
2257
|
}
|
|
2218
2258
|
}
|
|
2219
2259
|
|
|
2260
|
+
/**
|
|
2261
|
+
* Generate SQL from a standalone DataType JSON object.
|
|
2262
|
+
* @param {string} data_type_json
|
|
2263
|
+
* @param {string} dialect
|
|
2264
|
+
* @returns {string}
|
|
2265
|
+
*/
|
|
2266
|
+
function generate_data_type(data_type_json, dialect) {
|
|
2267
|
+
let deferred3_0;
|
|
2268
|
+
let deferred3_1;
|
|
2269
|
+
try {
|
|
2270
|
+
const retptr = wasm$2.__wbindgen_add_to_stack_pointer(-16);
|
|
2271
|
+
const ptr0 = passStringToWasm0(data_type_json, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2272
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2273
|
+
const ptr1 = passStringToWasm0(dialect, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2274
|
+
const len1 = WASM_VECTOR_LEN;
|
|
2275
|
+
wasm$2.generate_data_type(retptr, ptr0, len0, ptr1, len1);
|
|
2276
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
2277
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
2278
|
+
deferred3_0 = r0;
|
|
2279
|
+
deferred3_1 = r1;
|
|
2280
|
+
return getStringFromWasm0(r0, r1);
|
|
2281
|
+
} finally {
|
|
2282
|
+
wasm$2.__wbindgen_add_to_stack_pointer(16);
|
|
2283
|
+
wasm$2.__wbindgen_export4(deferred3_0, deferred3_1, 1);
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
|
|
2287
|
+
/**
|
|
2288
|
+
* Generate SQL from a standalone DataType represented as a structured JS value.
|
|
2289
|
+
* @param {any} data_type
|
|
2290
|
+
* @param {string} dialect
|
|
2291
|
+
* @returns {any}
|
|
2292
|
+
*/
|
|
2293
|
+
function generate_data_type_value(data_type, dialect) {
|
|
2294
|
+
const ptr0 = passStringToWasm0(dialect, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2295
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2296
|
+
const ret = wasm$2.generate_data_type_value(addHeapObject(data_type), ptr0, len0);
|
|
2297
|
+
return takeObject(ret);
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2220
2300
|
/**
|
|
2221
2301
|
* Generate SQL from an AST represented as a structured JS value.
|
|
2222
2302
|
* @param {any} ast
|
|
@@ -2462,6 +2542,48 @@ function parse$1(sql, dialect) {
|
|
|
2462
2542
|
}
|
|
2463
2543
|
}
|
|
2464
2544
|
|
|
2545
|
+
/**
|
|
2546
|
+
* Parse a standalone SQL data type and return a JSON string payload.
|
|
2547
|
+
* @param {string} sql
|
|
2548
|
+
* @param {string} dialect
|
|
2549
|
+
* @returns {string}
|
|
2550
|
+
*/
|
|
2551
|
+
function parse_data_type(sql, dialect) {
|
|
2552
|
+
let deferred3_0;
|
|
2553
|
+
let deferred3_1;
|
|
2554
|
+
try {
|
|
2555
|
+
const retptr = wasm$2.__wbindgen_add_to_stack_pointer(-16);
|
|
2556
|
+
const ptr0 = passStringToWasm0(sql, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2557
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2558
|
+
const ptr1 = passStringToWasm0(dialect, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2559
|
+
const len1 = WASM_VECTOR_LEN;
|
|
2560
|
+
wasm$2.parse_data_type(retptr, ptr0, len0, ptr1, len1);
|
|
2561
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
2562
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
2563
|
+
deferred3_0 = r0;
|
|
2564
|
+
deferred3_1 = r1;
|
|
2565
|
+
return getStringFromWasm0(r0, r1);
|
|
2566
|
+
} finally {
|
|
2567
|
+
wasm$2.__wbindgen_add_to_stack_pointer(16);
|
|
2568
|
+
wasm$2.__wbindgen_export4(deferred3_0, deferred3_1, 1);
|
|
2569
|
+
}
|
|
2570
|
+
}
|
|
2571
|
+
|
|
2572
|
+
/**
|
|
2573
|
+
* Parse a standalone SQL data type and return a structured JS value payload.
|
|
2574
|
+
* @param {string} sql
|
|
2575
|
+
* @param {string} dialect
|
|
2576
|
+
* @returns {any}
|
|
2577
|
+
*/
|
|
2578
|
+
function parse_data_type_value(sql, dialect) {
|
|
2579
|
+
const ptr0 = passStringToWasm0(sql, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2580
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2581
|
+
const ptr1 = passStringToWasm0(dialect, wasm$2.__wbindgen_export, wasm$2.__wbindgen_export2);
|
|
2582
|
+
const len1 = WASM_VECTOR_LEN;
|
|
2583
|
+
const ret = wasm$2.parse_data_type_value(ptr0, len0, ptr1, len1);
|
|
2584
|
+
return takeObject(ret);
|
|
2585
|
+
}
|
|
2586
|
+
|
|
2465
2587
|
/**
|
|
2466
2588
|
* Parse SQL and return a structured JS object with AST values.
|
|
2467
2589
|
* @param {string} sql
|
|
@@ -3694,6 +3816,8 @@ const wasmModule = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty
|
|
|
3694
3816
|
WasmSetOpBuilder,
|
|
3695
3817
|
WasmUpdateBuilder,
|
|
3696
3818
|
WasmWindowDefBuilder,
|
|
3819
|
+
analyze_query,
|
|
3820
|
+
analyze_query_value,
|
|
3697
3821
|
annotate_types,
|
|
3698
3822
|
annotate_types_value,
|
|
3699
3823
|
ast_add_where,
|
|
@@ -3719,6 +3843,8 @@ const wasmModule = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty
|
|
|
3719
3843
|
format_sql_with_options,
|
|
3720
3844
|
format_sql_with_options_value,
|
|
3721
3845
|
generate: generate$1,
|
|
3846
|
+
generate_data_type,
|
|
3847
|
+
generate_data_type_value,
|
|
3722
3848
|
generate_value,
|
|
3723
3849
|
get_dialects,
|
|
3724
3850
|
get_dialects_value,
|
|
@@ -3731,6 +3857,8 @@ const wasmModule = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty
|
|
|
3731
3857
|
openlineage_job_event,
|
|
3732
3858
|
openlineage_run_event,
|
|
3733
3859
|
parse: parse$1,
|
|
3860
|
+
parse_data_type,
|
|
3861
|
+
parse_data_type_value,
|
|
3734
3862
|
parse_value,
|
|
3735
3863
|
plan: plan$1,
|
|
3736
3864
|
source_tables,
|
|
@@ -5497,12 +5625,46 @@ function parseFailure(context, error) {
|
|
|
5497
5625
|
errorColumn: void 0
|
|
5498
5626
|
};
|
|
5499
5627
|
}
|
|
5628
|
+
function dataTypeFailure(context, error) {
|
|
5629
|
+
return {
|
|
5630
|
+
success: false,
|
|
5631
|
+
dataType: void 0,
|
|
5632
|
+
error: `WASM ${context} failed: ${errorMessage(error)}`,
|
|
5633
|
+
errorLine: void 0,
|
|
5634
|
+
errorColumn: void 0
|
|
5635
|
+
};
|
|
5636
|
+
}
|
|
5637
|
+
function generateDataTypeFailure(context, error) {
|
|
5638
|
+
return {
|
|
5639
|
+
success: false,
|
|
5640
|
+
sql: void 0,
|
|
5641
|
+
error: `WASM ${context} failed: ${errorMessage(error)}`,
|
|
5642
|
+
errorLine: void 0,
|
|
5643
|
+
errorColumn: void 0
|
|
5644
|
+
};
|
|
5645
|
+
}
|
|
5500
5646
|
function decodeWasmPayload(payload) {
|
|
5501
5647
|
if (typeof payload === "string") {
|
|
5502
5648
|
return JSON.parse(payload);
|
|
5503
5649
|
}
|
|
5504
5650
|
return payload;
|
|
5505
5651
|
}
|
|
5652
|
+
function queryAnalysisFailure(context, error) {
|
|
5653
|
+
return {
|
|
5654
|
+
success: false,
|
|
5655
|
+
analysis: void 0,
|
|
5656
|
+
error: `WASM ${context} failed: ${errorMessage(error)}`
|
|
5657
|
+
};
|
|
5658
|
+
}
|
|
5659
|
+
function normalizeAnalyzeQueryOptions(optionsOrDialect = {}) {
|
|
5660
|
+
if (typeof optionsOrDialect === "string") {
|
|
5661
|
+
return { dialect: optionsOrDialect };
|
|
5662
|
+
}
|
|
5663
|
+
return {
|
|
5664
|
+
dialect: "generic" /* Generic */,
|
|
5665
|
+
...optionsOrDialect
|
|
5666
|
+
};
|
|
5667
|
+
}
|
|
5506
5668
|
async function init$1() {
|
|
5507
5669
|
return Promise.resolve();
|
|
5508
5670
|
}
|
|
@@ -5552,6 +5714,24 @@ function parse(sql, dialect = "generic" /* Generic */) {
|
|
|
5552
5714
|
return parseFailure("parse", error);
|
|
5553
5715
|
}
|
|
5554
5716
|
}
|
|
5717
|
+
function parseDataType(sql, dialect = "generic" /* Generic */) {
|
|
5718
|
+
try {
|
|
5719
|
+
if (typeof wasm.parse_data_type_value === "function") {
|
|
5720
|
+
return decodeWasmPayload(
|
|
5721
|
+
wasm.parse_data_type_value(sql, dialect)
|
|
5722
|
+
);
|
|
5723
|
+
}
|
|
5724
|
+
const result = JSON.parse(
|
|
5725
|
+
wasm.parse_data_type(sql, dialect)
|
|
5726
|
+
);
|
|
5727
|
+
if (result.success && typeof result.dataType === "string") {
|
|
5728
|
+
result.dataType = JSON.parse(result.dataType);
|
|
5729
|
+
}
|
|
5730
|
+
return result;
|
|
5731
|
+
} catch (error) {
|
|
5732
|
+
return dataTypeFailure("parseDataType", error);
|
|
5733
|
+
}
|
|
5734
|
+
}
|
|
5555
5735
|
function tokenize(sql, dialect = "generic" /* Generic */) {
|
|
5556
5736
|
try {
|
|
5557
5737
|
if (typeof wasm.tokenize_value === "function") {
|
|
@@ -5581,6 +5761,21 @@ function generate(ast2, dialect = "generic" /* Generic */) {
|
|
|
5581
5761
|
return transpileFailure("generate", error);
|
|
5582
5762
|
}
|
|
5583
5763
|
}
|
|
5764
|
+
function generateDataType(dataType, dialect = "generic" /* Generic */) {
|
|
5765
|
+
try {
|
|
5766
|
+
if (typeof wasm.generate_data_type_value === "function") {
|
|
5767
|
+
return decodeWasmPayload(
|
|
5768
|
+
wasm.generate_data_type_value(dataType, dialect)
|
|
5769
|
+
);
|
|
5770
|
+
}
|
|
5771
|
+
const dataTypeJson = JSON.stringify(dataType);
|
|
5772
|
+
return JSON.parse(
|
|
5773
|
+
wasm.generate_data_type(dataTypeJson, dialect)
|
|
5774
|
+
);
|
|
5775
|
+
} catch (error) {
|
|
5776
|
+
return generateDataTypeFailure("generateDataType", error);
|
|
5777
|
+
}
|
|
5778
|
+
}
|
|
5584
5779
|
function format(sql, dialect = "generic" /* Generic */) {
|
|
5585
5780
|
return formatWithOptions(sql, dialect, {});
|
|
5586
5781
|
}
|
|
@@ -5615,6 +5810,27 @@ function getDialects() {
|
|
|
5615
5810
|
function getVersion() {
|
|
5616
5811
|
return wasm.version();
|
|
5617
5812
|
}
|
|
5813
|
+
function analyzeQuery(sql, optionsOrDialect = {}) {
|
|
5814
|
+
try {
|
|
5815
|
+
const normalized = normalizeAnalyzeQueryOptions(optionsOrDialect);
|
|
5816
|
+
if (typeof wasm.analyze_query_value === "function") {
|
|
5817
|
+
return decodeWasmPayload(
|
|
5818
|
+
wasm.analyze_query_value(sql, normalized)
|
|
5819
|
+
);
|
|
5820
|
+
}
|
|
5821
|
+
if (typeof wasm.analyze_query === "function") {
|
|
5822
|
+
return JSON.parse(
|
|
5823
|
+
wasm.analyze_query(sql, JSON.stringify(normalized))
|
|
5824
|
+
);
|
|
5825
|
+
}
|
|
5826
|
+
return {
|
|
5827
|
+
success: false,
|
|
5828
|
+
error: "analyze_query not available in this WASM build"
|
|
5829
|
+
};
|
|
5830
|
+
} catch (error) {
|
|
5831
|
+
return queryAnalysisFailure("analyzeQuery", error);
|
|
5832
|
+
}
|
|
5833
|
+
}
|
|
5618
5834
|
function annotateTypes(sql, dialect = "generic" /* Generic */, schema) {
|
|
5619
5835
|
try {
|
|
5620
5836
|
const schemaJson = schema ? JSON.stringify(schema) : "";
|
|
@@ -5669,6 +5885,12 @@ class Polyglot {
|
|
|
5669
5885
|
parse(sql, dialect = "generic" /* Generic */) {
|
|
5670
5886
|
return parse(sql, dialect);
|
|
5671
5887
|
}
|
|
5888
|
+
/**
|
|
5889
|
+
* Parse a standalone SQL data type.
|
|
5890
|
+
*/
|
|
5891
|
+
parseDataType(sql, dialect = "generic" /* Generic */) {
|
|
5892
|
+
return parseDataType(sql, dialect);
|
|
5893
|
+
}
|
|
5672
5894
|
/**
|
|
5673
5895
|
* Tokenize SQL into a token stream.
|
|
5674
5896
|
*/
|
|
@@ -5681,6 +5903,12 @@ class Polyglot {
|
|
|
5681
5903
|
generate(ast2, dialect = "generic" /* Generic */) {
|
|
5682
5904
|
return generate(ast2, dialect);
|
|
5683
5905
|
}
|
|
5906
|
+
/**
|
|
5907
|
+
* Generate SQL from a standalone DataType AST node.
|
|
5908
|
+
*/
|
|
5909
|
+
generateDataType(dataType, dialect = "generic" /* Generic */) {
|
|
5910
|
+
return generateDataType(dataType, dialect);
|
|
5911
|
+
}
|
|
5684
5912
|
/**
|
|
5685
5913
|
* Format SQL.
|
|
5686
5914
|
*/
|
|
@@ -5712,16 +5940,22 @@ class Polyglot {
|
|
|
5712
5940
|
annotateTypes(sql, dialect = "generic" /* Generic */, schema) {
|
|
5713
5941
|
return annotateTypes(sql, dialect, schema);
|
|
5714
5942
|
}
|
|
5943
|
+
analyzeQuery(sql, optionsOrDialect = {}) {
|
|
5944
|
+
return analyzeQuery(sql, normalizeAnalyzeQueryOptions(optionsOrDialect));
|
|
5945
|
+
}
|
|
5715
5946
|
}
|
|
5716
5947
|
const autoDefault = {
|
|
5717
5948
|
init: init$1,
|
|
5718
5949
|
isInitialized: isInitialized$1,
|
|
5719
5950
|
transpile,
|
|
5720
5951
|
parse,
|
|
5952
|
+
parseDataType,
|
|
5721
5953
|
tokenize,
|
|
5722
5954
|
generate,
|
|
5955
|
+
generateDataType,
|
|
5723
5956
|
format,
|
|
5724
5957
|
annotateTypes,
|
|
5958
|
+
analyzeQuery,
|
|
5725
5959
|
getDialects,
|
|
5726
5960
|
getVersion,
|
|
5727
5961
|
lineage: lineage,
|
|
@@ -5750,4 +5984,4 @@ const manual = {
|
|
|
5750
5984
|
isInitialized
|
|
5751
5985
|
};
|
|
5752
5986
|
|
|
5753
|
-
export { CaseBuilder, DeleteBuilder, Dialect, Expr, InsertBuilder, MergeBuilder, Polyglot, SelectBuilder, SetOpBuilder, UpdateBuilder, ValidationSeverity, WindowDefBuilder, abs, alias, and, annotateTypes, index as ast, avg, boolean, caseOf, caseWhen, cast, ceil, changesOnly, coalesce, col, concatWs, condition, count, countDistinct, currentDate, currentTime, currentTimestamp, manual as default, del, deleteFrom, denseRank, diff, except, exp, extract, findAll, floor, format, formatWithOptions, func, generate, getColumns, getDialects, getInferredType, getSourceTables, getVersion, greatest, hasChanges, ifNull, init, initcap, insert, insertInto, intersect, isColumn, isFunction, isInitialized, isLiteral, isSelect, least, length, lineage, lineageWithSchema, lit, ln, lower, ltrim, max, mergeInto, min, not, nullIf, openLineageColumnLineage, openLineageJobEvent, openLineageRunEvent, or, parse, plan, power, rank, renameColumns, replace, reverse, round, rowNumber, rtrim, select, sign, sqlExpr, sqlNull, sqrt, star, subquery, substring, sum, table, tokenize, transform, transpile, trim, union, unionAll, update, upper, validate, validateWithSchema, walk };
|
|
5987
|
+
export { CaseBuilder, DeleteBuilder, Dialect, Expr, InsertBuilder, MergeBuilder, Polyglot, SelectBuilder, SetOpBuilder, UpdateBuilder, ValidationSeverity, WindowDefBuilder, abs, alias, analyzeQuery, and, annotateTypes, index as ast, avg, boolean, caseOf, caseWhen, cast, ceil, changesOnly, coalesce, col, concatWs, condition, count, countDistinct, currentDate, currentTime, currentTimestamp, manual as default, del, deleteFrom, denseRank, diff, except, exp, extract, findAll, floor, format, formatWithOptions, func, generate, generateDataType, getColumns, getDialects, getInferredType, getSourceTables, getVersion, greatest, hasChanges, ifNull, init, initcap, insert, insertInto, intersect, isColumn, isFunction, isInitialized, isLiteral, isSelect, least, length, lineage, lineageWithSchema, lit, ln, lower, ltrim, max, mergeInto, min, not, nullIf, openLineageColumnLineage, openLineageJobEvent, openLineageRunEvent, or, parse, parseDataType, plan, power, rank, renameColumns, replace, reverse, round, rowNumber, rtrim, select, sign, sqlExpr, sqlNull, sqrt, star, subquery, substring, sum, table, tokenize, transform, transpile, trim, union, unionAll, update, upper, validate, validateWithSchema, walk };
|
package/dist/polyglot_sql.wasm
CHANGED
|
Binary file
|