@polyglot-sql/sdk 0.5.0 → 0.5.1

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.
@@ -1542,6 +1542,32 @@ class WasmWindowDefBuilder {
1542
1542
  }
1543
1543
  }
1544
1544
  if (Symbol.dispose) WasmWindowDefBuilder.prototype[Symbol.dispose] = WasmWindowDefBuilder.prototype.free;
1545
+ function analyze_query$1(sql, options_json) {
1546
+ let deferred3_0;
1547
+ let deferred3_1;
1548
+ try {
1549
+ const retptr = wasm$3.__wbindgen_add_to_stack_pointer(-16);
1550
+ const ptr0 = passStringToWasm0(sql, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
1551
+ const len0 = WASM_VECTOR_LEN;
1552
+ const ptr1 = passStringToWasm0(options_json, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
1553
+ const len1 = WASM_VECTOR_LEN;
1554
+ wasm$3.analyze_query(retptr, ptr0, len0, ptr1, len1);
1555
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1556
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1557
+ deferred3_0 = r0;
1558
+ deferred3_1 = r1;
1559
+ return getStringFromWasm0(r0, r1);
1560
+ } finally {
1561
+ wasm$3.__wbindgen_add_to_stack_pointer(16);
1562
+ wasm$3.__wbindgen_export4(deferred3_0, deferred3_1, 1);
1563
+ }
1564
+ }
1565
+ function analyze_query_value$1(sql, options) {
1566
+ const ptr0 = passStringToWasm0(sql, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
1567
+ const len0 = WASM_VECTOR_LEN;
1568
+ const ret = wasm$3.analyze_query_value(ptr0, len0, addHeapObject(options));
1569
+ return takeObject(ret);
1570
+ }
1545
1571
  function annotate_types$1(sql, dialect, schema_json) {
1546
1572
  let deferred4_0;
1547
1573
  let deferred4_1;
@@ -1994,6 +2020,32 @@ function generate$2(ast_json, dialect) {
1994
2020
  wasm$3.__wbindgen_export4(deferred3_0, deferred3_1, 1);
1995
2021
  }
1996
2022
  }
2023
+ function generate_data_type$1(data_type_json, dialect) {
2024
+ let deferred3_0;
2025
+ let deferred3_1;
2026
+ try {
2027
+ const retptr = wasm$3.__wbindgen_add_to_stack_pointer(-16);
2028
+ const ptr0 = passStringToWasm0(data_type_json, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2029
+ const len0 = WASM_VECTOR_LEN;
2030
+ const ptr1 = passStringToWasm0(dialect, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2031
+ const len1 = WASM_VECTOR_LEN;
2032
+ wasm$3.generate_data_type(retptr, ptr0, len0, ptr1, len1);
2033
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2034
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2035
+ deferred3_0 = r0;
2036
+ deferred3_1 = r1;
2037
+ return getStringFromWasm0(r0, r1);
2038
+ } finally {
2039
+ wasm$3.__wbindgen_add_to_stack_pointer(16);
2040
+ wasm$3.__wbindgen_export4(deferred3_0, deferred3_1, 1);
2041
+ }
2042
+ }
2043
+ function generate_data_type_value$1(data_type, dialect) {
2044
+ const ptr0 = passStringToWasm0(dialect, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2045
+ const len0 = WASM_VECTOR_LEN;
2046
+ const ret = wasm$3.generate_data_type_value(addHeapObject(data_type), ptr0, len0);
2047
+ return takeObject(ret);
2048
+ }
1997
2049
  function generate_value$1(ast, dialect) {
1998
2050
  const ptr0 = passStringToWasm0(dialect, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
1999
2051
  const len0 = WASM_VECTOR_LEN;
@@ -2146,6 +2198,34 @@ function parse$2(sql, dialect) {
2146
2198
  wasm$3.__wbindgen_export4(deferred3_0, deferred3_1, 1);
2147
2199
  }
2148
2200
  }
2201
+ function parse_data_type$1(sql, dialect) {
2202
+ let deferred3_0;
2203
+ let deferred3_1;
2204
+ try {
2205
+ const retptr = wasm$3.__wbindgen_add_to_stack_pointer(-16);
2206
+ const ptr0 = passStringToWasm0(sql, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2207
+ const len0 = WASM_VECTOR_LEN;
2208
+ const ptr1 = passStringToWasm0(dialect, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2209
+ const len1 = WASM_VECTOR_LEN;
2210
+ wasm$3.parse_data_type(retptr, ptr0, len0, ptr1, len1);
2211
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2212
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2213
+ deferred3_0 = r0;
2214
+ deferred3_1 = r1;
2215
+ return getStringFromWasm0(r0, r1);
2216
+ } finally {
2217
+ wasm$3.__wbindgen_add_to_stack_pointer(16);
2218
+ wasm$3.__wbindgen_export4(deferred3_0, deferred3_1, 1);
2219
+ }
2220
+ }
2221
+ function parse_data_type_value$1(sql, dialect) {
2222
+ const ptr0 = passStringToWasm0(sql, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2223
+ const len0 = WASM_VECTOR_LEN;
2224
+ const ptr1 = passStringToWasm0(dialect, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2225
+ const len1 = WASM_VECTOR_LEN;
2226
+ const ret = wasm$3.parse_data_type_value(ptr0, len0, ptr1, len1);
2227
+ return takeObject(ret);
2228
+ }
2149
2229
  function parse_value$1(sql, dialect) {
2150
2230
  const ptr0 = passStringToWasm0(sql, wasm$3.__wbindgen_export, wasm$3.__wbindgen_export2);
2151
2231
  const len0 = WASM_VECTOR_LEN;
@@ -3033,6 +3113,8 @@ const __wbg_wasmselectbuilder_free = __vite__wasmModule.__wbg_wasmselectbuilder_
3033
3113
  const __wbg_wasmsetopbuilder_free = __vite__wasmModule.__wbg_wasmsetopbuilder_free;
3034
3114
  const __wbg_wasmupdatebuilder_free = __vite__wasmModule.__wbg_wasmupdatebuilder_free;
3035
3115
  const __wbg_wasmwindowdefbuilder_free = __vite__wasmModule.__wbg_wasmwindowdefbuilder_free;
3116
+ const analyze_query = __vite__wasmModule.analyze_query;
3117
+ const analyze_query_value = __vite__wasmModule.analyze_query_value;
3036
3118
  const annotate_types = __vite__wasmModule.annotate_types;
3037
3119
  const annotate_types_value = __vite__wasmModule.annotate_types_value;
3038
3120
  const ast_add_where = __vite__wasmModule.ast_add_where;
@@ -3058,6 +3140,8 @@ const format_sql_value = __vite__wasmModule.format_sql_value;
3058
3140
  const format_sql_with_options = __vite__wasmModule.format_sql_with_options;
3059
3141
  const format_sql_with_options_value = __vite__wasmModule.format_sql_with_options_value;
3060
3142
  const generate$1 = __vite__wasmModule.generate;
3143
+ const generate_data_type = __vite__wasmModule.generate_data_type;
3144
+ const generate_data_type_value = __vite__wasmModule.generate_data_type_value;
3061
3145
  const generate_value = __vite__wasmModule.generate_value;
3062
3146
  const get_dialects = __vite__wasmModule.get_dialects;
3063
3147
  const get_dialects_value = __vite__wasmModule.get_dialects_value;
@@ -3067,6 +3151,8 @@ const openlineage_column_lineage = __vite__wasmModule.openlineage_column_lineage
3067
3151
  const openlineage_job_event = __vite__wasmModule.openlineage_job_event;
3068
3152
  const openlineage_run_event = __vite__wasmModule.openlineage_run_event;
3069
3153
  const parse$1 = __vite__wasmModule.parse;
3154
+ const parse_data_type = __vite__wasmModule.parse_data_type;
3155
+ const parse_data_type_value = __vite__wasmModule.parse_data_type_value;
3070
3156
  const parse_value = __vite__wasmModule.parse_value;
3071
3157
  const plan$1 = __vite__wasmModule.plan;
3072
3158
  const source_tables = __vite__wasmModule.source_tables;
@@ -3228,6 +3314,8 @@ const wasm$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
3228
3314
  __wbindgen_export2,
3229
3315
  __wbindgen_export3,
3230
3316
  __wbindgen_export4,
3317
+ analyze_query,
3318
+ analyze_query_value,
3231
3319
  annotate_types,
3232
3320
  annotate_types_value,
3233
3321
  ast_add_where,
@@ -3253,6 +3341,8 @@ const wasm$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
3253
3341
  format_sql_with_options,
3254
3342
  format_sql_with_options_value,
3255
3343
  generate: generate$1,
3344
+ generate_data_type,
3345
+ generate_data_type_value,
3256
3346
  generate_value,
3257
3347
  get_dialects,
3258
3348
  get_dialects_value,
@@ -3263,6 +3353,8 @@ const wasm$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
3263
3353
  openlineage_job_event,
3264
3354
  openlineage_run_event,
3265
3355
  parse: parse$1,
3356
+ parse_data_type,
3357
+ parse_data_type_value,
3266
3358
  parse_value,
3267
3359
  plan: plan$1,
3268
3360
  source_tables,
@@ -3416,6 +3508,8 @@ const wasmModule = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
3416
3508
  WasmSetOpBuilder,
3417
3509
  WasmUpdateBuilder,
3418
3510
  WasmWindowDefBuilder,
3511
+ analyze_query: analyze_query$1,
3512
+ analyze_query_value: analyze_query_value$1,
3419
3513
  annotate_types: annotate_types$1,
3420
3514
  annotate_types_value: annotate_types_value$1,
3421
3515
  ast_add_where: ast_add_where$1,
@@ -3441,6 +3535,8 @@ const wasmModule = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
3441
3535
  format_sql_with_options: format_sql_with_options$1,
3442
3536
  format_sql_with_options_value: format_sql_with_options_value$1,
3443
3537
  generate: generate$2,
3538
+ generate_data_type: generate_data_type$1,
3539
+ generate_data_type_value: generate_data_type_value$1,
3444
3540
  generate_value: generate_value$1,
3445
3541
  get_dialects: get_dialects$1,
3446
3542
  get_dialects_value: get_dialects_value$1,
@@ -3450,6 +3546,8 @@ const wasmModule = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
3450
3546
  openlineage_job_event: openlineage_job_event$1,
3451
3547
  openlineage_run_event: openlineage_run_event$1,
3452
3548
  parse: parse$2,
3549
+ parse_data_type: parse_data_type$1,
3550
+ parse_data_type_value: parse_data_type_value$1,
3453
3551
  parse_value: parse_value$1,
3454
3552
  plan: plan$2,
3455
3553
  source_tables: source_tables$1,
@@ -5201,12 +5299,37 @@ function parseFailure(context, error) {
5201
5299
  errorColumn: void 0
5202
5300
  };
5203
5301
  }
5302
+ function dataTypeFailure(context, error) {
5303
+ return {
5304
+ success: false,
5305
+ dataType: void 0,
5306
+ error: `WASM ${context} failed: ${errorMessage(error)}`,
5307
+ errorLine: void 0,
5308
+ errorColumn: void 0
5309
+ };
5310
+ }
5311
+ function generateDataTypeFailure(context, error) {
5312
+ return {
5313
+ success: false,
5314
+ sql: void 0,
5315
+ error: `WASM ${context} failed: ${errorMessage(error)}`,
5316
+ errorLine: void 0,
5317
+ errorColumn: void 0
5318
+ };
5319
+ }
5204
5320
  function decodeWasmPayload(payload) {
5205
5321
  if (typeof payload === "string") {
5206
5322
  return JSON.parse(payload);
5207
5323
  }
5208
5324
  return payload;
5209
5325
  }
5326
+ function queryAnalysisFailure(context, error) {
5327
+ return {
5328
+ success: false,
5329
+ analysis: void 0,
5330
+ error: `WASM ${context} failed: ${errorMessage(error)}`
5331
+ };
5332
+ }
5210
5333
  async function init() {
5211
5334
  return Promise.resolve();
5212
5335
  }
@@ -5256,6 +5379,24 @@ function parse(sql, dialect = "generic") {
5256
5379
  return parseFailure("parse", error);
5257
5380
  }
5258
5381
  }
5382
+ function parseDataType(sql, dialect = "generic") {
5383
+ try {
5384
+ if (typeof wasm.parse_data_type_value === "function") {
5385
+ return decodeWasmPayload(
5386
+ wasm.parse_data_type_value(sql, dialect)
5387
+ );
5388
+ }
5389
+ const result = JSON.parse(
5390
+ wasm.parse_data_type(sql, dialect)
5391
+ );
5392
+ if (result.success && typeof result.dataType === "string") {
5393
+ result.dataType = JSON.parse(result.dataType);
5394
+ }
5395
+ return result;
5396
+ } catch (error) {
5397
+ return dataTypeFailure("parseDataType", error);
5398
+ }
5399
+ }
5259
5400
  function tokenize(sql, dialect = "generic") {
5260
5401
  try {
5261
5402
  if (typeof wasm.tokenize_value === "function") {
@@ -5285,6 +5426,21 @@ function generate(ast2, dialect = "generic") {
5285
5426
  return transpileFailure("generate", error);
5286
5427
  }
5287
5428
  }
5429
+ function generateDataType(dataType, dialect = "generic") {
5430
+ try {
5431
+ if (typeof wasm.generate_data_type_value === "function") {
5432
+ return decodeWasmPayload(
5433
+ wasm.generate_data_type_value(dataType, dialect)
5434
+ );
5435
+ }
5436
+ const dataTypeJson = JSON.stringify(dataType);
5437
+ return JSON.parse(
5438
+ wasm.generate_data_type(dataTypeJson, dialect)
5439
+ );
5440
+ } catch (error) {
5441
+ return generateDataTypeFailure("generateDataType", error);
5442
+ }
5443
+ }
5288
5444
  function format(sql, dialect = "generic") {
5289
5445
  return formatWithOptions(sql, dialect, {});
5290
5446
  }
@@ -5319,6 +5475,30 @@ function getDialects() {
5319
5475
  function getVersion() {
5320
5476
  return wasm.version();
5321
5477
  }
5478
+ function analyzeQuery(sql, options = {}) {
5479
+ try {
5480
+ const normalized = {
5481
+ dialect: "generic",
5482
+ ...options
5483
+ };
5484
+ if (typeof wasm.analyze_query_value === "function") {
5485
+ return decodeWasmPayload(
5486
+ wasm.analyze_query_value(sql, normalized)
5487
+ );
5488
+ }
5489
+ if (typeof wasm.analyze_query === "function") {
5490
+ return JSON.parse(
5491
+ wasm.analyze_query(sql, JSON.stringify(normalized))
5492
+ );
5493
+ }
5494
+ return {
5495
+ success: false,
5496
+ error: "analyze_query not available in this WASM build"
5497
+ };
5498
+ } catch (error) {
5499
+ return queryAnalysisFailure("analyzeQuery", error);
5500
+ }
5501
+ }
5322
5502
  function annotateTypes(sql, dialect = "generic", schema) {
5323
5503
  try {
5324
5504
  const schemaJson = schema ? JSON.stringify(schema) : "";
@@ -5373,6 +5553,12 @@ class Polyglot {
5373
5553
  parse(sql, dialect = "generic") {
5374
5554
  return parse(sql, dialect);
5375
5555
  }
5556
+ /**
5557
+ * Parse a standalone SQL data type.
5558
+ */
5559
+ parseDataType(sql, dialect = "generic") {
5560
+ return parseDataType(sql, dialect);
5561
+ }
5376
5562
  /**
5377
5563
  * Tokenize SQL into a token stream.
5378
5564
  */
@@ -5385,6 +5571,12 @@ class Polyglot {
5385
5571
  generate(ast2, dialect = "generic") {
5386
5572
  return generate(ast2, dialect);
5387
5573
  }
5574
+ /**
5575
+ * Generate SQL from a standalone DataType AST node.
5576
+ */
5577
+ generateDataType(dataType, dialect = "generic") {
5578
+ return generateDataType(dataType, dialect);
5579
+ }
5388
5580
  /**
5389
5581
  * Format SQL.
5390
5582
  */
@@ -5416,16 +5608,25 @@ class Polyglot {
5416
5608
  annotateTypes(sql, dialect = "generic", schema) {
5417
5609
  return annotateTypes(sql, dialect, schema);
5418
5610
  }
5611
+ /**
5612
+ * Return compact query analysis facts for a SELECT or set operation.
5613
+ */
5614
+ analyzeQuery(sql, options = {}) {
5615
+ return analyzeQuery(sql, options);
5616
+ }
5419
5617
  }
5420
5618
  const index = {
5421
5619
  init,
5422
5620
  isInitialized,
5423
5621
  transpile,
5424
5622
  parse,
5623
+ parseDataType,
5425
5624
  tokenize,
5426
5625
  generate,
5626
+ generateDataType,
5427
5627
  format,
5428
5628
  annotateTypes,
5629
+ analyzeQuery,
5429
5630
  getDialects,
5430
5631
  getVersion,
5431
5632
  lineage,
@@ -5456,6 +5657,7 @@ export {
5456
5657
  WindowDefBuilder,
5457
5658
  abs,
5458
5659
  alias,
5660
+ analyzeQuery,
5459
5661
  and,
5460
5662
  annotateTypes,
5461
5663
  index$1 as ast,
@@ -5489,6 +5691,7 @@ export {
5489
5691
  formatWithOptions,
5490
5692
  func,
5491
5693
  generate,
5694
+ generateDataType,
5492
5695
  getColumns,
5493
5696
  getDialects,
5494
5697
  getInferredType,
@@ -5525,6 +5728,7 @@ export {
5525
5728
  openLineageRunEvent,
5526
5729
  or,
5527
5730
  parse,
5731
+ parseDataType,
5528
5732
  plan,
5529
5733
  power,
5530
5734
  rank,
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,37 @@ 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
+ }
5506
5659
  async function init$1() {
5507
5660
  return Promise.resolve();
5508
5661
  }
@@ -5552,6 +5705,24 @@ function parse(sql, dialect = "generic" /* Generic */) {
5552
5705
  return parseFailure("parse", error);
5553
5706
  }
5554
5707
  }
5708
+ function parseDataType(sql, dialect = "generic" /* Generic */) {
5709
+ try {
5710
+ if (typeof wasm.parse_data_type_value === "function") {
5711
+ return decodeWasmPayload(
5712
+ wasm.parse_data_type_value(sql, dialect)
5713
+ );
5714
+ }
5715
+ const result = JSON.parse(
5716
+ wasm.parse_data_type(sql, dialect)
5717
+ );
5718
+ if (result.success && typeof result.dataType === "string") {
5719
+ result.dataType = JSON.parse(result.dataType);
5720
+ }
5721
+ return result;
5722
+ } catch (error) {
5723
+ return dataTypeFailure("parseDataType", error);
5724
+ }
5725
+ }
5555
5726
  function tokenize(sql, dialect = "generic" /* Generic */) {
5556
5727
  try {
5557
5728
  if (typeof wasm.tokenize_value === "function") {
@@ -5581,6 +5752,21 @@ function generate(ast2, dialect = "generic" /* Generic */) {
5581
5752
  return transpileFailure("generate", error);
5582
5753
  }
5583
5754
  }
5755
+ function generateDataType(dataType, dialect = "generic" /* Generic */) {
5756
+ try {
5757
+ if (typeof wasm.generate_data_type_value === "function") {
5758
+ return decodeWasmPayload(
5759
+ wasm.generate_data_type_value(dataType, dialect)
5760
+ );
5761
+ }
5762
+ const dataTypeJson = JSON.stringify(dataType);
5763
+ return JSON.parse(
5764
+ wasm.generate_data_type(dataTypeJson, dialect)
5765
+ );
5766
+ } catch (error) {
5767
+ return generateDataTypeFailure("generateDataType", error);
5768
+ }
5769
+ }
5584
5770
  function format(sql, dialect = "generic" /* Generic */) {
5585
5771
  return formatWithOptions(sql, dialect, {});
5586
5772
  }
@@ -5615,6 +5801,30 @@ function getDialects() {
5615
5801
  function getVersion() {
5616
5802
  return wasm.version();
5617
5803
  }
5804
+ function analyzeQuery(sql, options = {}) {
5805
+ try {
5806
+ const normalized = {
5807
+ dialect: "generic" /* Generic */,
5808
+ ...options
5809
+ };
5810
+ if (typeof wasm.analyze_query_value === "function") {
5811
+ return decodeWasmPayload(
5812
+ wasm.analyze_query_value(sql, normalized)
5813
+ );
5814
+ }
5815
+ if (typeof wasm.analyze_query === "function") {
5816
+ return JSON.parse(
5817
+ wasm.analyze_query(sql, JSON.stringify(normalized))
5818
+ );
5819
+ }
5820
+ return {
5821
+ success: false,
5822
+ error: "analyze_query not available in this WASM build"
5823
+ };
5824
+ } catch (error) {
5825
+ return queryAnalysisFailure("analyzeQuery", error);
5826
+ }
5827
+ }
5618
5828
  function annotateTypes(sql, dialect = "generic" /* Generic */, schema) {
5619
5829
  try {
5620
5830
  const schemaJson = schema ? JSON.stringify(schema) : "";
@@ -5669,6 +5879,12 @@ class Polyglot {
5669
5879
  parse(sql, dialect = "generic" /* Generic */) {
5670
5880
  return parse(sql, dialect);
5671
5881
  }
5882
+ /**
5883
+ * Parse a standalone SQL data type.
5884
+ */
5885
+ parseDataType(sql, dialect = "generic" /* Generic */) {
5886
+ return parseDataType(sql, dialect);
5887
+ }
5672
5888
  /**
5673
5889
  * Tokenize SQL into a token stream.
5674
5890
  */
@@ -5681,6 +5897,12 @@ class Polyglot {
5681
5897
  generate(ast2, dialect = "generic" /* Generic */) {
5682
5898
  return generate(ast2, dialect);
5683
5899
  }
5900
+ /**
5901
+ * Generate SQL from a standalone DataType AST node.
5902
+ */
5903
+ generateDataType(dataType, dialect = "generic" /* Generic */) {
5904
+ return generateDataType(dataType, dialect);
5905
+ }
5684
5906
  /**
5685
5907
  * Format SQL.
5686
5908
  */
@@ -5712,16 +5934,25 @@ class Polyglot {
5712
5934
  annotateTypes(sql, dialect = "generic" /* Generic */, schema) {
5713
5935
  return annotateTypes(sql, dialect, schema);
5714
5936
  }
5937
+ /**
5938
+ * Return compact query analysis facts for a SELECT or set operation.
5939
+ */
5940
+ analyzeQuery(sql, options = {}) {
5941
+ return analyzeQuery(sql, options);
5942
+ }
5715
5943
  }
5716
5944
  const autoDefault = {
5717
5945
  init: init$1,
5718
5946
  isInitialized: isInitialized$1,
5719
5947
  transpile,
5720
5948
  parse,
5949
+ parseDataType,
5721
5950
  tokenize,
5722
5951
  generate,
5952
+ generateDataType,
5723
5953
  format,
5724
5954
  annotateTypes,
5955
+ analyzeQuery,
5725
5956
  getDialects,
5726
5957
  getVersion,
5727
5958
  lineage: lineage,
@@ -5750,4 +5981,4 @@ const manual = {
5750
5981
  isInitialized
5751
5982
  };
5752
5983
 
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 };
5984
+ 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