@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/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 };
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-sql/sdk",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "SQL dialect translator powered by WebAssembly",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",