syntaqlite 0.5.10 → 0.7.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/README.md +78 -15
- package/dist/engine.d.ts +62 -26
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +184 -113
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lsp.d.ts +22 -0
- package/dist/lsp.d.ts.map +1 -0
- package/dist/lsp.js +21 -0
- package/dist/lsp.js.map +1 -0
- package/dist/types.d.ts +53 -17
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/wasm/syntaqlite-runtime.js +85 -25
- package/wasm/syntaqlite-runtime.wasm +0 -0
- package/wasm/syntaqlite-sqlite.wasm +0 -0
package/README.md
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# syntaqlite
|
|
2
2
|
|
|
3
|
-
SQLite SQL parser, formatter, and
|
|
3
|
+
SQLite SQL parser, formatter, and language server for the browser — powered
|
|
4
|
+
by WebAssembly.
|
|
4
5
|
|
|
5
6
|
Built from SQLite's own grammar for 100% syntax compatibility.
|
|
6
7
|
|
|
7
8
|
- **Format** SQL with configurable line width, keyword casing, and semicolons
|
|
8
|
-
- **Parse** SQL into a full
|
|
9
|
-
- **
|
|
10
|
-
|
|
9
|
+
- **Parse** SQL into a full syntax tree
|
|
10
|
+
- **Language server**: diagnostics, completions, hover, and semantic tokens
|
|
11
|
+
over standard LSP JSON-RPC, schema-aware via your DDL
|
|
12
|
+
- **Analyze** SQL in one shot: schema-aware diagnostics without an
|
|
13
|
+
editor session
|
|
11
14
|
|
|
12
15
|
## Install
|
|
13
16
|
|
|
@@ -18,23 +21,83 @@ npm install syntaqlite
|
|
|
18
21
|
## Usage
|
|
19
22
|
|
|
20
23
|
```ts
|
|
21
|
-
import { Engine } from "syntaqlite";
|
|
24
|
+
import { Engine, DialectManager } from "syntaqlite";
|
|
22
25
|
|
|
23
26
|
const engine = new Engine();
|
|
24
27
|
await engine.load();
|
|
28
|
+
await new DialectManager().loadDefault(engine);
|
|
25
29
|
|
|
26
|
-
// Format SQL
|
|
27
|
-
|
|
28
|
-
console.log(
|
|
29
|
-
|
|
30
|
+
// Format SQL. Options mirror the Rust FormatConfig; omitted fields use
|
|
31
|
+
// the formatter defaults.
|
|
32
|
+
console.log(engine.format("select id,name from users where id=1", {
|
|
33
|
+
lineWidth: 80,
|
|
34
|
+
indentWidth: 2,
|
|
35
|
+
keywordCase: "upper",
|
|
36
|
+
semicolons: true,
|
|
37
|
+
}));
|
|
38
|
+
// SELECT id, name FROM users WHERE id = 1;
|
|
30
39
|
|
|
31
|
-
// Parse SQL to AST (JSON)
|
|
32
|
-
const
|
|
33
|
-
console.log(ast);
|
|
40
|
+
// Parse SQL to AST (JSON); parse errors are data, not exceptions
|
|
41
|
+
const {statements, errors} = engine.parse("SELECT 1");
|
|
34
42
|
|
|
35
|
-
//
|
|
36
|
-
const
|
|
37
|
-
|
|
43
|
+
// Tokenize SQL
|
|
44
|
+
const tokens = engine.tokenize("SELECT 1");
|
|
45
|
+
|
|
46
|
+
// Give the analyzer your schema
|
|
47
|
+
engine.setSessionContextDdl("CREATE TABLE users(id INTEGER, name TEXT);");
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Language server
|
|
51
|
+
|
|
52
|
+
Editor features are served by an in-process LSP server. Drive it with
|
|
53
|
+
JSON-RPC messages:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
engine.lspMessage({ jsonrpc: "2.0", id: 1, method: "initialize", params: { capabilities: {} } });
|
|
57
|
+
engine.lspMessage({ jsonrpc: "2.0", method: "initialized", params: {} });
|
|
58
|
+
|
|
59
|
+
const out = engine.lspMessage({
|
|
60
|
+
jsonrpc: "2.0",
|
|
61
|
+
method: "textDocument/didOpen",
|
|
62
|
+
params: {
|
|
63
|
+
textDocument: { uri: "file:///q.sql", languageId: "sql", version: 1, text: "SELECT * FROM missing" },
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
// out includes a textDocument/publishDiagnostics notification.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Or run it in a Web Worker and connect a standard LSP client
|
|
70
|
+
(CodeMirror, Monaco, ...):
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
// worker.ts
|
|
74
|
+
import { Engine, DialectManager, attachLspPort, type LspPortLike } from "syntaqlite";
|
|
75
|
+
|
|
76
|
+
const engine = new Engine();
|
|
77
|
+
await engine.load();
|
|
78
|
+
await new DialectManager().loadDefault(engine);
|
|
79
|
+
attachLspPort(engine, self as unknown as LspPortLike);
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Beyond standard LSP, the server accepts a `syntaqlite/setSessionContext`
|
|
83
|
+
extension request to set or clear the schema catalog
|
|
84
|
+
(`Engine.setSessionContextDdl` wraps it).
|
|
85
|
+
|
|
86
|
+
## One-shot analysis
|
|
87
|
+
|
|
88
|
+
For programmatic validation without an editor session. The catalog can
|
|
89
|
+
come from DDL, from structured `tables` and `views`, or both:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
const analysis = engine.analyze("SELECT c FROM users", {
|
|
93
|
+
schemaDdl: "CREATE TABLE users(id INTEGER, name TEXT);",
|
|
94
|
+
});
|
|
95
|
+
console.log(analysis.diagnostics);
|
|
96
|
+
// [{ message: "unknown column 'c'", severity: "error", ... }]
|
|
97
|
+
|
|
98
|
+
engine.analyze("SELECT id FROM logs", {
|
|
99
|
+
tables: [{name: "logs", columns: ["id", "ts"]}],
|
|
100
|
+
});
|
|
38
101
|
```
|
|
39
102
|
|
|
40
103
|
## Documentation
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnalyzeOptions, AnalyzeResult, DiagnosticsResult, DialectBinding, EmbeddedExtractResult, EmbeddedLanguage, EmscriptenModule, FormatOptions, ParseResult, TokenEntry } from "./types.js";
|
|
2
2
|
export interface CflagEntry {
|
|
3
3
|
name: string;
|
|
4
4
|
minVersion: number;
|
|
@@ -7,6 +7,10 @@ export interface CflagEntry {
|
|
|
7
7
|
export interface EngineConfig {
|
|
8
8
|
runtimeJsPath?: string;
|
|
9
9
|
runtimeWasmPath?: string;
|
|
10
|
+
/** Reuse an already-loaded runtime module instead of loading a new one.
|
|
11
|
+
* The engines share linear memory and loaded dialect modules but get
|
|
12
|
+
* independent WASM sessions (dialect, schema context, analysis state). */
|
|
13
|
+
runtime?: EmscriptenModule;
|
|
10
14
|
}
|
|
11
15
|
export declare class Engine {
|
|
12
16
|
status: string;
|
|
@@ -15,16 +19,12 @@ export declare class Engine {
|
|
|
15
19
|
private module;
|
|
16
20
|
private encoder;
|
|
17
21
|
private decoder;
|
|
22
|
+
private sessionNewRaw;
|
|
23
|
+
private sessionFreeRaw;
|
|
18
24
|
private setDialectRaw;
|
|
19
25
|
private clearDialectRaw;
|
|
20
26
|
private allocRaw;
|
|
21
27
|
private freeRaw;
|
|
22
|
-
private astRaw;
|
|
23
|
-
private astJsonRaw;
|
|
24
|
-
private fmtRaw;
|
|
25
|
-
private diagnosticsRaw;
|
|
26
|
-
private semanticTokensRaw;
|
|
27
|
-
private completionsRaw;
|
|
28
28
|
private resultPtrRaw;
|
|
29
29
|
private resultLenRaw;
|
|
30
30
|
private resultFreeRaw;
|
|
@@ -33,16 +33,25 @@ export declare class Engine {
|
|
|
33
33
|
private clearCflagRaw;
|
|
34
34
|
private clearAllCflagsRaw;
|
|
35
35
|
private getCflagListRaw;
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
private
|
|
40
|
-
private
|
|
36
|
+
private embeddedExtractRaw;
|
|
37
|
+
private embeddedDiagnosticsRaw;
|
|
38
|
+
private embeddedSemanticTokensRaw;
|
|
39
|
+
private lspMessageRaw;
|
|
40
|
+
private rpcRaw;
|
|
41
41
|
private currentLangMode;
|
|
42
|
+
/** Handle for the WASM session all calls run against. 0 = not created yet. */
|
|
43
|
+
private session;
|
|
44
|
+
/** Sequence for `syntaqlite/setSessionContext` request ids. */
|
|
45
|
+
private contextSeq;
|
|
42
46
|
/** Last session context applied, so it can be re-applied after dialect switches. */
|
|
43
47
|
private sessionContext;
|
|
44
48
|
constructor(config?: EngineConfig);
|
|
45
49
|
get ready(): boolean;
|
|
50
|
+
/** The underlying Emscripten module, e.g. to share with another Engine
|
|
51
|
+
* via `EngineConfig.runtime`. Undefined until load() completes. */
|
|
52
|
+
get runtimeModule(): EmscriptenModule | undefined;
|
|
53
|
+
/** Free the WASM session. The engine must not be used after this. */
|
|
54
|
+
dispose(): void;
|
|
46
55
|
updateStatus(text: string, isError?: boolean): void;
|
|
47
56
|
load(): Promise<void>;
|
|
48
57
|
private resolveRuntimeFn;
|
|
@@ -56,31 +65,54 @@ export declare class Engine {
|
|
|
56
65
|
setDialectPointer(ptr: number): void;
|
|
57
66
|
private reapplySessionContext;
|
|
58
67
|
clearDialectPointer(): void;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
/** Parse SQL into AST JSON. Parse errors are data, not exceptions. */
|
|
69
|
+
parse(sql: string): ParseResult;
|
|
70
|
+
/** Format SQL. Throws when the input cannot be formatted. */
|
|
71
|
+
format(sql: string, opts?: FormatOptions): string;
|
|
72
|
+
/** Tokenize SQL. Throws on malformed input. */
|
|
73
|
+
tokenize(sql: string): TokenEntry[];
|
|
74
|
+
/** Semantic tokens for an embedded-language document (see setLanguageMode).
|
|
75
|
+
* Returns a pre-encoded Uint32Array (5 u32s per token) or undefined on
|
|
76
|
+
* failure. SQL documents are served over LSP (`textDocument/semanticTokens`).
|
|
77
|
+
* @experimental Embedded language support is experimental and may change. */
|
|
78
|
+
embeddedSemanticTokens(source: string): Uint32Array | undefined;
|
|
79
|
+
/** Diagnostics for an embedded-language document (see setLanguageMode).
|
|
80
|
+
* SQL documents are served over LSP (`textDocument/publishDiagnostics`).
|
|
81
|
+
* @experimental Embedded language support is experimental and may change. */
|
|
82
|
+
embeddedDiagnostics(source: string): DiagnosticsResult;
|
|
83
|
+
/** Whether this runtime exposes the LSP JSON-RPC entry point. */
|
|
84
|
+
get lspSupported(): boolean;
|
|
85
|
+
/** Handle one LSP JSON-RPC message against this engine's in-process
|
|
86
|
+
* language server. Returns the outgoing messages as parsed objects
|
|
87
|
+
* (response plus server notifications). Drive it exactly like a
|
|
88
|
+
* standalone LSP server, lifecycle included. */
|
|
89
|
+
lspMessage(message: string | object): unknown[];
|
|
90
|
+
/** Validate SQL in one shot without an editor session. Schema-aware when
|
|
91
|
+
* a catalog is provided via `schemaDdl`, `tables`, or `views`. Throws on
|
|
92
|
+
* malformed input. */
|
|
93
|
+
analyze(sql: string, opts?: AnalyzeOptions): AnalyzeResult;
|
|
94
|
+
/** One-shot JSON-RPC op — the CLI `serve json` protocol. Returns the
|
|
95
|
+
* op's result value; throws on error. */
|
|
96
|
+
private rpc;
|
|
97
|
+
/** Set the active language mode. Diagnostics, semantic tokens, and extraction
|
|
98
|
+
* dispatch to the SQL or embedded implementation based on this mode.
|
|
71
99
|
* @experimental Embedded language support is experimental and may change. */
|
|
72
100
|
setLanguageMode(lang: "sql" | EmbeddedLanguage): void;
|
|
73
101
|
/** Extract SQL fragments from `source`. Returns empty in SQL mode (O(1) fast path).
|
|
74
|
-
* In embedded mode the WASM extractor runs
|
|
102
|
+
* In embedded mode the WASM extractor runs for the language set by setLanguageMode.
|
|
75
103
|
* @experimental Embedded language support is experimental and may change. */
|
|
76
|
-
|
|
104
|
+
extract(source: string): EmbeddedExtractResult;
|
|
77
105
|
setSqliteVersion(version: string): void;
|
|
78
106
|
setCflag(name: string): void;
|
|
79
107
|
clearCflag(name: string): void;
|
|
80
108
|
clearAllCflags(): void;
|
|
81
109
|
getCflagList(): CflagEntry[];
|
|
110
|
+
/** Set the schema session context from structured catalog JSON, via the
|
|
111
|
+
* `syntaqlite/setSessionContext` extension request. Throws on rejection. */
|
|
82
112
|
setSessionContext(json: string): void;
|
|
83
113
|
clearSessionContext(): void;
|
|
114
|
+
/** Set the schema session context from DDL. DDL that fails to parse is
|
|
115
|
+
* reported in `error`; statements that did parse are still applied. */
|
|
84
116
|
setSessionContextDdl(sql: string): {
|
|
85
117
|
ok: true;
|
|
86
118
|
} | {
|
|
@@ -89,5 +121,9 @@ export declare class Engine {
|
|
|
89
121
|
};
|
|
90
122
|
private applySessionContextJson;
|
|
91
123
|
private applySessionContextDdl;
|
|
124
|
+
/** Send a `syntaqlite/setSessionContext` extension request to the
|
|
125
|
+
* language server. Returns the (possibly empty) DDL parse errors;
|
|
126
|
+
* throws if the server rejects the request. */
|
|
127
|
+
private applySessionContext;
|
|
92
128
|
}
|
|
93
129
|
//# sourceMappingURL=engine.d.ts.map
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
// Licensed under the Apache License, Version 2.0.
|
|
3
3
|
const DEFAULT_RUNTIME_JS = new URL("../wasm/syntaqlite-runtime.js", import.meta.url).href;
|
|
4
4
|
const DEFAULT_RUNTIME_WASM = new URL("../wasm/syntaqlite-runtime.wasm", import.meta.url).href;
|
|
5
|
+
/** Host-language code for the embedded-SQL WASM exports. */
|
|
6
|
+
function embeddedLangCode(lang) {
|
|
7
|
+
return lang === "python" ? 0 : 1;
|
|
8
|
+
}
|
|
5
9
|
export class Engine {
|
|
6
10
|
constructor(config = {}) {
|
|
7
11
|
this.status = "Loading...";
|
|
@@ -9,16 +13,12 @@ export class Engine {
|
|
|
9
13
|
this.module = undefined;
|
|
10
14
|
this.encoder = new TextEncoder();
|
|
11
15
|
this.decoder = new TextDecoder();
|
|
16
|
+
this.sessionNewRaw = undefined;
|
|
17
|
+
this.sessionFreeRaw = undefined;
|
|
12
18
|
this.setDialectRaw = undefined;
|
|
13
19
|
this.clearDialectRaw = undefined;
|
|
14
20
|
this.allocRaw = undefined;
|
|
15
21
|
this.freeRaw = undefined;
|
|
16
|
-
this.astRaw = undefined;
|
|
17
|
-
this.astJsonRaw = undefined;
|
|
18
|
-
this.fmtRaw = undefined;
|
|
19
|
-
this.diagnosticsRaw = undefined;
|
|
20
|
-
this.semanticTokensRaw = undefined;
|
|
21
|
-
this.completionsRaw = undefined;
|
|
22
22
|
this.resultPtrRaw = undefined;
|
|
23
23
|
this.resultLenRaw = undefined;
|
|
24
24
|
this.resultFreeRaw = undefined;
|
|
@@ -27,12 +27,16 @@ export class Engine {
|
|
|
27
27
|
this.clearCflagRaw = undefined;
|
|
28
28
|
this.clearAllCflagsRaw = undefined;
|
|
29
29
|
this.getCflagListRaw = undefined;
|
|
30
|
-
this.
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
30
|
+
this.embeddedExtractRaw = undefined;
|
|
31
|
+
this.embeddedDiagnosticsRaw = undefined;
|
|
32
|
+
this.embeddedSemanticTokensRaw = undefined;
|
|
33
|
+
this.lspMessageRaw = undefined;
|
|
34
|
+
this.rpcRaw = undefined;
|
|
35
35
|
this.currentLangMode = "sql";
|
|
36
|
+
/** Handle for the WASM session all calls run against. 0 = not created yet. */
|
|
37
|
+
this.session = 0;
|
|
38
|
+
/** Sequence for `syntaqlite/setSessionContext` request ids. */
|
|
39
|
+
this.contextSeq = 0;
|
|
36
40
|
/** Last session context applied, so it can be re-applied after dialect switches. */
|
|
37
41
|
this.sessionContext = null;
|
|
38
42
|
this.config = config;
|
|
@@ -40,23 +44,31 @@ export class Engine {
|
|
|
40
44
|
get ready() {
|
|
41
45
|
return this.module !== undefined;
|
|
42
46
|
}
|
|
47
|
+
/** The underlying Emscripten module, e.g. to share with another Engine
|
|
48
|
+
* via `EngineConfig.runtime`. Undefined until load() completes. */
|
|
49
|
+
get runtimeModule() {
|
|
50
|
+
return this.module;
|
|
51
|
+
}
|
|
52
|
+
/** Free the WASM session. The engine must not be used after this. */
|
|
53
|
+
dispose() {
|
|
54
|
+
if (this.session !== 0 && this.sessionFreeRaw) {
|
|
55
|
+
this.sessionFreeRaw(this.session);
|
|
56
|
+
this.session = 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
43
59
|
updateStatus(text, isError = false) {
|
|
44
60
|
this.status = text;
|
|
45
61
|
this.statusError = isError;
|
|
46
62
|
}
|
|
47
63
|
async load() {
|
|
48
|
-
const module = await loadRuntimeModule(this.config);
|
|
64
|
+
const module = this.config.runtime ?? (await loadRuntimeModule(this.config));
|
|
49
65
|
this.module = module;
|
|
66
|
+
this.sessionNewRaw = this.resolveRuntimeFn("wasm_session_new");
|
|
67
|
+
this.sessionFreeRaw = this.resolveRuntimeFn("wasm_session_free");
|
|
50
68
|
this.setDialectRaw = this.tryResolveRuntimeFn("wasm_set_dialect");
|
|
51
69
|
this.clearDialectRaw = this.tryResolveRuntimeFn("wasm_clear_dialect");
|
|
52
70
|
this.allocRaw = this.resolveRuntimeFn("wasm_alloc");
|
|
53
71
|
this.freeRaw = this.resolveRuntimeFn("wasm_free");
|
|
54
|
-
this.astRaw = this.tryResolveRuntimeFn("wasm_ast");
|
|
55
|
-
this.astJsonRaw = this.tryResolveRuntimeFn("wasm_ast_json");
|
|
56
|
-
this.fmtRaw = this.resolveRuntimeFn("wasm_fmt");
|
|
57
|
-
this.diagnosticsRaw = this.tryResolveRuntimeFn("wasm_diagnostics");
|
|
58
|
-
this.semanticTokensRaw = this.tryResolveRuntimeFn("wasm_semantic_tokens");
|
|
59
|
-
this.completionsRaw = this.tryResolveRuntimeFn("wasm_completions");
|
|
60
72
|
this.resultPtrRaw = this.resolveRuntimeFn("wasm_result_ptr");
|
|
61
73
|
this.resultLenRaw = this.resolveRuntimeFn("wasm_result_len");
|
|
62
74
|
this.resultFreeRaw = this.resolveRuntimeFn("wasm_result_free");
|
|
@@ -65,11 +77,15 @@ export class Engine {
|
|
|
65
77
|
this.clearCflagRaw = this.tryResolveRuntimeFn("wasm_clear_cflag");
|
|
66
78
|
this.clearAllCflagsRaw = this.tryResolveRuntimeFn("wasm_clear_all_cflags");
|
|
67
79
|
this.getCflagListRaw = this.tryResolveRuntimeFn("wasm_get_cflag_list");
|
|
68
|
-
this.
|
|
69
|
-
this.
|
|
70
|
-
this.
|
|
71
|
-
this.
|
|
72
|
-
this.
|
|
80
|
+
this.embeddedExtractRaw = this.tryResolveRuntimeFn("wasm_embedded_extract");
|
|
81
|
+
this.embeddedDiagnosticsRaw = this.tryResolveRuntimeFn("wasm_embedded_diagnostics");
|
|
82
|
+
this.embeddedSemanticTokensRaw = this.tryResolveRuntimeFn("wasm_embedded_semantic_tokens");
|
|
83
|
+
this.lspMessageRaw = this.tryResolveRuntimeFn("wasm_lsp_message");
|
|
84
|
+
this.rpcRaw = this.tryResolveRuntimeFn("wasm_rpc");
|
|
85
|
+
this.session = this.sessionNewRaw() >>> 0;
|
|
86
|
+
if (this.session === 0) {
|
|
87
|
+
throw new Error("wasm_session_new failed");
|
|
88
|
+
}
|
|
73
89
|
}
|
|
74
90
|
resolveRuntimeFn(symbol) {
|
|
75
91
|
const fn = this.module[`_${symbol}`];
|
|
@@ -158,12 +174,12 @@ export class Engine {
|
|
|
158
174
|
setDialectPointer(ptr) {
|
|
159
175
|
if (!this.setDialectRaw)
|
|
160
176
|
throw new Error("dialect switching not supported by this runtime");
|
|
161
|
-
const status = this.setDialectRaw(ptr >>> 0);
|
|
177
|
+
const status = this.setDialectRaw(this.session, ptr >>> 0);
|
|
162
178
|
const detail = this.readAndClearResult();
|
|
163
179
|
if (status !== 0) {
|
|
164
180
|
throw new Error(detail || `wasm_set_dialect failed with status ${status}`);
|
|
165
181
|
}
|
|
166
|
-
// The WASM
|
|
182
|
+
// The WASM drops the language server on dialect switch, discarding any
|
|
167
183
|
// session context. Re-apply it so callers don't have to track this.
|
|
168
184
|
this.reapplySessionContext();
|
|
169
185
|
}
|
|
@@ -180,46 +196,43 @@ export class Engine {
|
|
|
180
196
|
clearDialectPointer() {
|
|
181
197
|
if (!this.clearDialectRaw)
|
|
182
198
|
return;
|
|
183
|
-
this.clearDialectRaw();
|
|
199
|
+
this.clearDialectRaw(this.session);
|
|
184
200
|
this.readAndClearResult();
|
|
185
201
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (
|
|
199
|
-
|
|
200
|
-
if (
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
* legendIndex, 0) ready for Monaco, or undefined on failure.
|
|
217
|
-
* Pass rangeStart=0 and rangeEnd=0xFFFFFFFF for the full document. */
|
|
218
|
-
runSemanticTokens(sql, rangeStart = 0, rangeEnd = 0xffffffff, version = 1) {
|
|
219
|
-
if (!this.semanticTokensRaw)
|
|
202
|
+
/** Parse SQL into AST JSON. Parse errors are data, not exceptions. */
|
|
203
|
+
parse(sql) {
|
|
204
|
+
// AST nodes omit absent fields as null; expose them as undefined.
|
|
205
|
+
return this.rpc({ op: "parse", sql }, (_, v) => (v === null ? undefined : v));
|
|
206
|
+
}
|
|
207
|
+
/** Format SQL. Throws when the input cannot be formatted. */
|
|
208
|
+
format(sql, opts = {}) {
|
|
209
|
+
const request = { op: "format", sql };
|
|
210
|
+
if (opts.lineWidth !== undefined)
|
|
211
|
+
request.line_width = opts.lineWidth;
|
|
212
|
+
if (opts.indentWidth !== undefined)
|
|
213
|
+
request.indent_width = opts.indentWidth;
|
|
214
|
+
if (opts.keywordCase !== undefined)
|
|
215
|
+
request.keyword_case = opts.keywordCase;
|
|
216
|
+
if (opts.semicolons !== undefined)
|
|
217
|
+
request.semicolons = opts.semicolons;
|
|
218
|
+
const result = this.rpc(request);
|
|
219
|
+
return result.formatted;
|
|
220
|
+
}
|
|
221
|
+
/** Tokenize SQL. Throws on malformed input. */
|
|
222
|
+
tokenize(sql) {
|
|
223
|
+
const result = this.rpc({ op: "tokenize", sql });
|
|
224
|
+
return result.tokens;
|
|
225
|
+
}
|
|
226
|
+
/** Semantic tokens for an embedded-language document (see setLanguageMode).
|
|
227
|
+
* Returns a pre-encoded Uint32Array (5 u32s per token) or undefined on
|
|
228
|
+
* failure. SQL documents are served over LSP (`textDocument/semanticTokens`).
|
|
229
|
+
* @experimental Embedded language support is experimental and may change. */
|
|
230
|
+
embeddedSemanticTokens(source) {
|
|
231
|
+
if (this.currentLangMode === "sql" || !this.embeddedSemanticTokensRaw)
|
|
220
232
|
return undefined;
|
|
233
|
+
const lang = embeddedLangCode(this.currentLangMode);
|
|
221
234
|
try {
|
|
222
|
-
const count = this.withInput(
|
|
235
|
+
const count = this.withInput(source, (ptr, len) => this.embeddedSemanticTokensRaw(this.session, lang, ptr, len));
|
|
223
236
|
if (count <= 0) {
|
|
224
237
|
this.resultFreeRaw();
|
|
225
238
|
return count === 0 ? new Uint32Array(0) : undefined;
|
|
@@ -232,15 +245,20 @@ export class Engine {
|
|
|
232
245
|
return new Uint32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4);
|
|
233
246
|
}
|
|
234
247
|
catch (e) {
|
|
235
|
-
console.warn("
|
|
248
|
+
console.warn("wasm_embedded_semantic_tokens failed:", e);
|
|
236
249
|
return undefined;
|
|
237
250
|
}
|
|
238
251
|
}
|
|
239
|
-
|
|
240
|
-
|
|
252
|
+
/** Diagnostics for an embedded-language document (see setLanguageMode).
|
|
253
|
+
* SQL documents are served over LSP (`textDocument/publishDiagnostics`).
|
|
254
|
+
* @experimental Embedded language support is experimental and may change. */
|
|
255
|
+
embeddedDiagnostics(source) {
|
|
256
|
+
if (this.currentLangMode === "sql" || !this.embeddedDiagnosticsRaw) {
|
|
241
257
|
return { ok: false, diagnostics: [] };
|
|
258
|
+
}
|
|
259
|
+
const lang = embeddedLangCode(this.currentLangMode);
|
|
242
260
|
try {
|
|
243
|
-
const count = this.withInput(
|
|
261
|
+
const count = this.withInput(source, (ptr, len) => this.embeddedDiagnosticsRaw(this.session, lang, ptr, len));
|
|
244
262
|
const text = this.readAndClearResult();
|
|
245
263
|
if (count < 0)
|
|
246
264
|
return { ok: false, diagnostics: [] };
|
|
@@ -250,48 +268,80 @@ export class Engine {
|
|
|
250
268
|
return { ok: true, diagnostics };
|
|
251
269
|
}
|
|
252
270
|
catch (e) {
|
|
253
|
-
console.warn("
|
|
271
|
+
console.warn("wasm_embedded_diagnostics failed:", e);
|
|
254
272
|
return { ok: false, diagnostics: [] };
|
|
255
273
|
}
|
|
256
274
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
return { ok: true, items };
|
|
275
|
+
/** Whether this runtime exposes the LSP JSON-RPC entry point. */
|
|
276
|
+
get lspSupported() {
|
|
277
|
+
return this.lspMessageRaw !== undefined;
|
|
278
|
+
}
|
|
279
|
+
/** Handle one LSP JSON-RPC message against this engine's in-process
|
|
280
|
+
* language server. Returns the outgoing messages as parsed objects
|
|
281
|
+
* (response plus server notifications). Drive it exactly like a
|
|
282
|
+
* standalone LSP server, lifecycle included. */
|
|
283
|
+
lspMessage(message) {
|
|
284
|
+
if (!this.lspMessageRaw) {
|
|
285
|
+
throw new Error("LSP not supported by this runtime");
|
|
269
286
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
287
|
+
const json = typeof message === "string" ? message : JSON.stringify(message);
|
|
288
|
+
const count = this.withInput(json, (ptr, len) => this.lspMessageRaw(this.session, ptr, len));
|
|
289
|
+
const text = this.readAndClearResult();
|
|
290
|
+
if (count < 0) {
|
|
291
|
+
throw new Error(text || "wasm_lsp_message failed");
|
|
273
292
|
}
|
|
293
|
+
return count === 0 ? [] : JSON.parse(text);
|
|
294
|
+
}
|
|
295
|
+
/** Validate SQL in one shot without an editor session. Schema-aware when
|
|
296
|
+
* a catalog is provided via `schemaDdl`, `tables`, or `views`. Throws on
|
|
297
|
+
* malformed input. */
|
|
298
|
+
analyze(sql, opts = {}) {
|
|
299
|
+
const request = { op: "analyze", sql };
|
|
300
|
+
if (opts.schemaDdl !== undefined)
|
|
301
|
+
request.schema_ddl = opts.schemaDdl;
|
|
302
|
+
if (opts.tables !== undefined)
|
|
303
|
+
request.tables = opts.tables;
|
|
304
|
+
if (opts.views !== undefined)
|
|
305
|
+
request.views = opts.views;
|
|
306
|
+
if (opts.modules !== undefined)
|
|
307
|
+
request.modules = opts.modules;
|
|
308
|
+
return this.rpc(request);
|
|
309
|
+
}
|
|
310
|
+
/** One-shot JSON-RPC op — the CLI `serve json` protocol. Returns the
|
|
311
|
+
* op's result value; throws on error. */
|
|
312
|
+
rpc(request, reviver) {
|
|
313
|
+
if (!this.rpcRaw) {
|
|
314
|
+
throw new Error("RPC not supported by this runtime");
|
|
315
|
+
}
|
|
316
|
+
const json = JSON.stringify(request);
|
|
317
|
+
const status = this.withInput(json, (ptr, len) => this.rpcRaw(this.session, ptr, len));
|
|
318
|
+
const text = this.readAndClearResult();
|
|
319
|
+
if (status !== 0) {
|
|
320
|
+
throw new Error(text || "wasm_rpc failed");
|
|
321
|
+
}
|
|
322
|
+
const frame = JSON.parse(text, reviver);
|
|
323
|
+
if (!frame.ok) {
|
|
324
|
+
throw new Error(frame.error ?? "rpc failed");
|
|
325
|
+
}
|
|
326
|
+
return frame.result;
|
|
274
327
|
}
|
|
275
|
-
/** Set the active language mode.
|
|
276
|
-
*
|
|
328
|
+
/** Set the active language mode. Diagnostics, semantic tokens, and extraction
|
|
329
|
+
* dispatch to the SQL or embedded implementation based on this mode.
|
|
277
330
|
* @experimental Embedded language support is experimental and may change. */
|
|
278
331
|
setLanguageMode(lang) {
|
|
279
332
|
this.currentLangMode = lang;
|
|
280
|
-
if (!this.setLanguageModeRaw)
|
|
281
|
-
return;
|
|
282
|
-
const code = lang === "sql" ? 0xFFFFFFFF : (lang === "python" ? 0 : 1);
|
|
283
|
-
this.setLanguageModeRaw(code);
|
|
284
333
|
}
|
|
285
334
|
/** Extract SQL fragments from `source`. Returns empty in SQL mode (O(1) fast path).
|
|
286
|
-
* In embedded mode the WASM extractor runs
|
|
335
|
+
* In embedded mode the WASM extractor runs for the language set by setLanguageMode.
|
|
287
336
|
* @experimental Embedded language support is experimental and may change. */
|
|
288
|
-
|
|
337
|
+
extract(source) {
|
|
289
338
|
if (this.currentLangMode === "sql")
|
|
290
339
|
return { ok: true, fragments: [] };
|
|
291
|
-
if (!this.
|
|
340
|
+
if (!this.embeddedExtractRaw)
|
|
292
341
|
return { ok: true, fragments: [] };
|
|
342
|
+
const lang = embeddedLangCode(this.currentLangMode);
|
|
293
343
|
try {
|
|
294
|
-
const count = this.withInput(source, (ptr, len) => this.
|
|
344
|
+
const count = this.withInput(source, (ptr, len) => this.embeddedExtractRaw(lang, ptr, len));
|
|
295
345
|
const text = this.readAndClearResult();
|
|
296
346
|
if (count < 0)
|
|
297
347
|
return { ok: false, fragments: [] };
|
|
@@ -301,14 +351,14 @@ export class Engine {
|
|
|
301
351
|
return { ok: true, fragments };
|
|
302
352
|
}
|
|
303
353
|
catch (e) {
|
|
304
|
-
console.warn("
|
|
354
|
+
console.warn("wasm_embedded_extract failed:", e);
|
|
305
355
|
return { ok: false, fragments: [] };
|
|
306
356
|
}
|
|
307
357
|
}
|
|
308
358
|
setSqliteVersion(version) {
|
|
309
359
|
if (!this.setSqliteVersionRaw)
|
|
310
360
|
return;
|
|
311
|
-
const status = this.withInput(version, (ptr, len) => this.setSqliteVersionRaw(ptr, len));
|
|
361
|
+
const status = this.withInput(version, (ptr, len) => this.setSqliteVersionRaw(this.session, ptr, len));
|
|
312
362
|
const detail = this.readAndClearResult();
|
|
313
363
|
if (status !== 0) {
|
|
314
364
|
throw new Error(detail || `wasm_set_sqlite_version failed with status ${status}`);
|
|
@@ -317,7 +367,7 @@ export class Engine {
|
|
|
317
367
|
setCflag(name) {
|
|
318
368
|
if (!this.setCflagRaw)
|
|
319
369
|
return;
|
|
320
|
-
const status = this.withInput(name, (ptr, len) => this.setCflagRaw(ptr, len));
|
|
370
|
+
const status = this.withInput(name, (ptr, len) => this.setCflagRaw(this.session, ptr, len));
|
|
321
371
|
const detail = this.readAndClearResult();
|
|
322
372
|
if (status !== 0) {
|
|
323
373
|
throw new Error(detail || `wasm_set_cflag failed with status ${status}`);
|
|
@@ -326,7 +376,7 @@ export class Engine {
|
|
|
326
376
|
clearCflag(name) {
|
|
327
377
|
if (!this.clearCflagRaw)
|
|
328
378
|
return;
|
|
329
|
-
const status = this.withInput(name, (ptr, len) => this.clearCflagRaw(ptr, len));
|
|
379
|
+
const status = this.withInput(name, (ptr, len) => this.clearCflagRaw(this.session, ptr, len));
|
|
330
380
|
const detail = this.readAndClearResult();
|
|
331
381
|
if (status !== 0) {
|
|
332
382
|
throw new Error(detail || `wasm_clear_cflag failed with status ${status}`);
|
|
@@ -335,7 +385,7 @@ export class Engine {
|
|
|
335
385
|
clearAllCflags() {
|
|
336
386
|
if (!this.clearAllCflagsRaw)
|
|
337
387
|
return;
|
|
338
|
-
this.clearAllCflagsRaw();
|
|
388
|
+
this.clearAllCflagsRaw(this.session);
|
|
339
389
|
}
|
|
340
390
|
getCflagList() {
|
|
341
391
|
if (!this.getCflagListRaw)
|
|
@@ -351,16 +401,24 @@ export class Engine {
|
|
|
351
401
|
return [];
|
|
352
402
|
}
|
|
353
403
|
}
|
|
404
|
+
/** Set the schema session context from structured catalog JSON, via the
|
|
405
|
+
* `syntaqlite/setSessionContext` extension request. Throws on rejection. */
|
|
354
406
|
setSessionContext(json) {
|
|
355
407
|
this.sessionContext = { kind: "json", json };
|
|
356
408
|
this.applySessionContextJson(json);
|
|
357
409
|
}
|
|
358
410
|
clearSessionContext() {
|
|
359
411
|
this.sessionContext = null;
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
412
|
+
try {
|
|
413
|
+
this.applySessionContext({});
|
|
414
|
+
}
|
|
415
|
+
catch (e) {
|
|
416
|
+
// No dialect loaded yet means there is no context to clear.
|
|
417
|
+
console.warn("clearSessionContext skipped:", e);
|
|
418
|
+
}
|
|
363
419
|
}
|
|
420
|
+
/** Set the schema session context from DDL. DDL that fails to parse is
|
|
421
|
+
* reported in `error`; statements that did parse are still applied. */
|
|
364
422
|
setSessionContextDdl(sql) {
|
|
365
423
|
const result = this.applySessionContextDdl(sql);
|
|
366
424
|
if (result.ok)
|
|
@@ -368,22 +426,35 @@ export class Engine {
|
|
|
368
426
|
return result;
|
|
369
427
|
}
|
|
370
428
|
applySessionContextJson(json) {
|
|
371
|
-
|
|
372
|
-
return;
|
|
373
|
-
const status = this.withInput(json, (ptr, len) => this.setSessionContextRaw(ptr, len));
|
|
374
|
-
const detail = this.readAndClearResult();
|
|
375
|
-
if (status !== 0) {
|
|
376
|
-
throw new Error(detail || `wasm_set_session_context failed with status ${status}`);
|
|
377
|
-
}
|
|
429
|
+
this.applySessionContext({ context: JSON.parse(json) });
|
|
378
430
|
}
|
|
379
431
|
applySessionContextDdl(sql) {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
432
|
+
try {
|
|
433
|
+
const errors = this.applySessionContext({ ddl: sql });
|
|
434
|
+
if (errors.length > 0)
|
|
435
|
+
return { ok: false, error: errors.join("\n") };
|
|
436
|
+
return { ok: true };
|
|
437
|
+
}
|
|
438
|
+
catch (e) {
|
|
439
|
+
return { ok: false, error: e.message };
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/** Send a `syntaqlite/setSessionContext` extension request to the
|
|
443
|
+
* language server. Returns the (possibly empty) DDL parse errors;
|
|
444
|
+
* throws if the server rejects the request. */
|
|
445
|
+
applySessionContext(params) {
|
|
446
|
+
const id = `session-context-${this.contextSeq++}`;
|
|
447
|
+
const out = this.lspMessage({
|
|
448
|
+
jsonrpc: "2.0",
|
|
449
|
+
id,
|
|
450
|
+
method: "syntaqlite/setSessionContext",
|
|
451
|
+
params,
|
|
452
|
+
});
|
|
453
|
+
const response = out.find((m) => m && typeof m === "object" && m.id === id);
|
|
454
|
+
if (response?.error) {
|
|
455
|
+
throw new Error(response.error.message);
|
|
456
|
+
}
|
|
457
|
+
return response?.result?.errors ?? [];
|
|
387
458
|
}
|
|
388
459
|
}
|
|
389
460
|
// Global name the Emscripten MODULARIZE build assigns the factory to when
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Engine, type EngineConfig, type CflagEntry } from "./engine.js";
|
|
2
|
+
export { attachLspPort, type LspPortLike } from "./lsp.js";
|
|
2
3
|
export { DialectManager, BUILTIN_PRESETS, type DialectPreset, type DialectManagerConfig } from "./dialect.js";
|
|
3
4
|
export { DialectConfigManager, VERSION_OPTIONS, versionToInt } from "./dialect_config.js";
|
|
4
5
|
export { SchemaContextManager, parseSimple, type SchemaFormat, type SessionContextPayload } from "./schema.js";
|
|
5
|
-
export type { EmscriptenModule, EmscriptenModuleConfig, AstFieldValue, AstListNode, AstRegularNode, AstJsonNode, KeywordCase, FormatOptions,
|
|
6
|
+
export type { EmscriptenModule, EmscriptenModuleConfig, AstFieldValue, AstListNode, AstRegularNode, AstJsonNode, KeywordCase, FormatOptions, ParseResult, TokenEntry, DialectBinding, DiagnosticDetail, HelpDetail, DiagnosticEntry, DiagnosticsResult, AnalyzeDiagnostic, RelationSpec, AnalyzeOptions, AnalyzeResult, CompletionEntry, CompletionsResult, EmbeddedLanguage, EmbeddedHole, EmbeddedFragment, EmbeddedExtractResult, } from "./types.js";
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC/G,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC/G,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Copyright 2025 The syntaqlite Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License, Version 2.0.
|
|
3
3
|
export { Engine } from "./engine.js";
|
|
4
|
+
export { attachLspPort } from "./lsp.js";
|
|
4
5
|
export { DialectManager, BUILTIN_PRESETS } from "./dialect.js";
|
|
5
6
|
export { DialectConfigManager, VERSION_OPTIONS, versionToInt } from "./dialect_config.js";
|
|
6
7
|
export { SchemaContextManager, parseSimple } from "./schema.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kDAAkD;AAElD,OAAO,EAAE,MAAM,EAAsC,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAiD,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAiD,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kDAAkD;AAElD,OAAO,EAAE,MAAM,EAAsC,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,aAAa,EAAoB,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAiD,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAiD,MAAM,aAAa,CAAC"}
|
package/dist/lsp.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Engine } from "./engine.js";
|
|
2
|
+
/** The subset of `MessagePort` / `DedicatedWorkerGlobalScope` needed to
|
|
3
|
+
* bridge LSP messages. */
|
|
4
|
+
export interface LspPortLike {
|
|
5
|
+
postMessage(message: unknown): void;
|
|
6
|
+
onmessage: ((ev: {
|
|
7
|
+
data: unknown;
|
|
8
|
+
}) => void) | null;
|
|
9
|
+
}
|
|
10
|
+
/** Bridge LSP JSON-RPC messages between a `postMessage` channel and the
|
|
11
|
+
* engine's in-process language server, so a standard browser LSP client
|
|
12
|
+
* (CodeMirror, Monaco, ...) can talk to syntaqlite running in a Web Worker:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const engine = new Engine();
|
|
16
|
+
* await engine.load();
|
|
17
|
+
* await new DialectManager().loadDefault(engine);
|
|
18
|
+
* attachLspPort(engine, self as unknown as LspPortLike);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function attachLspPort(engine: Engine, port: LspPortLike): void;
|
|
22
|
+
//# sourceMappingURL=lsp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp.d.ts","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;2BAC2B;AAC3B,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAAC,IAAI,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAMrE"}
|
package/dist/lsp.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright 2025 The syntaqlite Authors. All rights reserved.
|
|
2
|
+
// Licensed under the Apache License, Version 2.0.
|
|
3
|
+
/** Bridge LSP JSON-RPC messages between a `postMessage` channel and the
|
|
4
|
+
* engine's in-process language server, so a standard browser LSP client
|
|
5
|
+
* (CodeMirror, Monaco, ...) can talk to syntaqlite running in a Web Worker:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const engine = new Engine();
|
|
9
|
+
* await engine.load();
|
|
10
|
+
* await new DialectManager().loadDefault(engine);
|
|
11
|
+
* attachLspPort(engine, self as unknown as LspPortLike);
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export function attachLspPort(engine, port) {
|
|
15
|
+
port.onmessage = (ev) => {
|
|
16
|
+
for (const out of engine.lspMessage(ev.data)) {
|
|
17
|
+
port.postMessage(out);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=lsp.js.map
|
package/dist/lsp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,kDAAkD;AAWlD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,IAAiB;IAC7D,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;QACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAc,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -33,26 +33,20 @@ export interface AstRegularNode {
|
|
|
33
33
|
[field: string]: AstFieldValue | undefined;
|
|
34
34
|
}
|
|
35
35
|
export type AstJsonNode = AstListNode | AstRegularNode;
|
|
36
|
-
export type KeywordCase =
|
|
36
|
+
export type KeywordCase = "upper" | "lower";
|
|
37
|
+
/** Options for `Engine.format`, mirroring the CLI `format` op. Omitted
|
|
38
|
+
* fields use the formatter defaults. */
|
|
37
39
|
export interface FormatOptions {
|
|
38
|
-
lineWidth
|
|
39
|
-
indentWidth
|
|
40
|
-
keywordCase
|
|
41
|
-
semicolons
|
|
40
|
+
lineWidth?: number;
|
|
41
|
+
indentWidth?: number;
|
|
42
|
+
keywordCase?: KeywordCase;
|
|
43
|
+
semicolons?: boolean;
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
text: string;
|
|
46
|
-
}
|
|
47
|
-
export type AstResultOk = {
|
|
48
|
-
ok: true;
|
|
45
|
+
/** Result of `Engine.parse` (the CLI `parse` op shape). */
|
|
46
|
+
export interface ParseResult {
|
|
49
47
|
statements: AstJsonNode[];
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
ok: false;
|
|
53
|
-
error: string;
|
|
54
|
-
};
|
|
55
|
-
export type AstResult = AstResultOk | AstResultError;
|
|
48
|
+
errors: AnalyzeDiagnostic[];
|
|
49
|
+
}
|
|
56
50
|
export interface DialectBinding {
|
|
57
51
|
symbol: string;
|
|
58
52
|
ptr: number;
|
|
@@ -103,6 +97,48 @@ export interface DiagnosticsResult {
|
|
|
103
97
|
ok: boolean;
|
|
104
98
|
diagnostics: DiagnosticEntry[];
|
|
105
99
|
}
|
|
100
|
+
/** One diagnostic from `Engine.analyze` (the CLI `analyze` op shape). */
|
|
101
|
+
export interface AnalyzeDiagnostic {
|
|
102
|
+
severity: "error" | "warning" | "info" | "hint";
|
|
103
|
+
message: string;
|
|
104
|
+
start_offset: number;
|
|
105
|
+
end_offset: number;
|
|
106
|
+
/** Numeric diagnostic category (see `DIAG_CODE_*` in the Rust rpc module). */
|
|
107
|
+
code: number;
|
|
108
|
+
help?: string;
|
|
109
|
+
}
|
|
110
|
+
/** A table or view added to the analysis catalog. */
|
|
111
|
+
export interface RelationSpec {
|
|
112
|
+
name: string;
|
|
113
|
+
columns?: string[];
|
|
114
|
+
}
|
|
115
|
+
export interface AnalyzeOptions {
|
|
116
|
+
/** DDL parsed into a schema catalog for schema-aware validation. */
|
|
117
|
+
schemaDdl?: string;
|
|
118
|
+
/** Tables added to the catalog. */
|
|
119
|
+
tables?: RelationSpec[];
|
|
120
|
+
/** Views added to the catalog. */
|
|
121
|
+
views?: RelationSpec[];
|
|
122
|
+
/** Dotted module path to SQL source, resolving INCLUDE MODULE imports. */
|
|
123
|
+
modules?: Record<string, string>;
|
|
124
|
+
}
|
|
125
|
+
export interface AnalyzeResult {
|
|
126
|
+
diagnostics: AnalyzeDiagnostic[];
|
|
127
|
+
/** Per-statement analysis (kind, references, lineage). */
|
|
128
|
+
statements: unknown[];
|
|
129
|
+
/** Lineage of the final query-bearing statement. */
|
|
130
|
+
lineage: unknown | null;
|
|
131
|
+
}
|
|
132
|
+
/** One token from `Engine.tokenize`. */
|
|
133
|
+
export interface TokenEntry {
|
|
134
|
+
text: string;
|
|
135
|
+
offset: number;
|
|
136
|
+
length: number;
|
|
137
|
+
/** Numeric token id (dialect-specific). */
|
|
138
|
+
type: number;
|
|
139
|
+
/** Coarse category, e.g. "keyword", "identifier", "number". */
|
|
140
|
+
category: string;
|
|
141
|
+
}
|
|
106
142
|
/** @experimental Embedded language support is experimental and may change. */
|
|
107
143
|
export type EmbeddedLanguage = "python" | "typescript";
|
|
108
144
|
/** @experimental */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,kBAAkB,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,EAC9D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IAC3F,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;IACjG,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CAClE;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAErC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAaD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;AAE7E,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;AAIvD,MAAM,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,kBAAkB,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,EAC9D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IAC3F,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;IACjG,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CAClE;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAErC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAaD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;AAE7E,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;AAIvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5C;yCACyC;AACzC,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAID,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAID,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,GACxB;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GACrC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,GACxD;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GACxC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,GACvE,IAAI,CAAC;AAET,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,kCAAkC;IAClC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,0DAA0D;IAC1D,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,oDAAoD;IACpD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,8EAA8E;AAC9E,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEvD,oBAAoB;AACpB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oBAAoB;AACpB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,oBAAoB;AACpB,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAID,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B"}
|
package/package.json
CHANGED
|
@@ -836,7 +836,7 @@ async function createWasm() {
|
|
|
836
836
|
|
|
837
837
|
|
|
838
838
|
|
|
839
|
-
var ___heap_base =
|
|
839
|
+
var ___heap_base = 233104;
|
|
840
840
|
|
|
841
841
|
var alignMemory = (size, alignment) => {
|
|
842
842
|
return Math.ceil(size / alignment) * alignment;
|
|
@@ -983,7 +983,7 @@ async function createWasm() {
|
|
|
983
983
|
|
|
984
984
|
/** @type {WebAssembly.Table} */
|
|
985
985
|
var wasmTable = new WebAssembly.Table({
|
|
986
|
-
'initial':
|
|
986
|
+
'initial': 368,
|
|
987
987
|
'element': 'anyfunc'
|
|
988
988
|
});
|
|
989
989
|
;
|
|
@@ -4095,11 +4095,11 @@ async function createWasm() {
|
|
|
4095
4095
|
|
|
4096
4096
|
var ___memory_base = new WebAssembly.Global({'value': 'i32', 'mutable': false}, 1024);
|
|
4097
4097
|
|
|
4098
|
-
var ___stack_high =
|
|
4098
|
+
var ___stack_high = 233104;
|
|
4099
4099
|
|
|
4100
|
-
var ___stack_low =
|
|
4100
|
+
var ___stack_low = 167568;
|
|
4101
4101
|
|
|
4102
|
-
var ___stack_pointer = new WebAssembly.Global({'value': 'i32', 'mutable': true},
|
|
4102
|
+
var ___stack_pointer = new WebAssembly.Global({'value': 'i32', 'mutable': true}, 233104);
|
|
4103
4103
|
|
|
4104
4104
|
|
|
4105
4105
|
|
|
@@ -4236,6 +4236,28 @@ async function createWasm() {
|
|
|
4236
4236
|
}
|
|
4237
4237
|
___syscall_newfstatat.sig = 'iippi';
|
|
4238
4238
|
|
|
4239
|
+
var syscallGetVarargI = () => {
|
|
4240
|
+
// the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number.
|
|
4241
|
+
var ret = HEAP32[((+SYSCALLS.varargs)>>2)];
|
|
4242
|
+
SYSCALLS.varargs += 4;
|
|
4243
|
+
return ret;
|
|
4244
|
+
};
|
|
4245
|
+
|
|
4246
|
+
function ___syscall_openat(dirfd, path, flags, varargs) {
|
|
4247
|
+
SYSCALLS.varargs = varargs;
|
|
4248
|
+
try {
|
|
4249
|
+
|
|
4250
|
+
path = SYSCALLS.getStr(path);
|
|
4251
|
+
path = SYSCALLS.calculateAt(dirfd, path);
|
|
4252
|
+
var mode = varargs ? syscallGetVarargI() : 0;
|
|
4253
|
+
return FS.open(path, flags, mode).fd;
|
|
4254
|
+
} catch (e) {
|
|
4255
|
+
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
|
|
4256
|
+
return -e.errno;
|
|
4257
|
+
}
|
|
4258
|
+
}
|
|
4259
|
+
___syscall_openat.sig = 'iipip';
|
|
4260
|
+
|
|
4239
4261
|
function ___syscall_stat64(path, buf) {
|
|
4240
4262
|
try {
|
|
4241
4263
|
|
|
@@ -4400,6 +4422,38 @@ async function createWasm() {
|
|
|
4400
4422
|
}
|
|
4401
4423
|
_fd_close.sig = 'ii';
|
|
4402
4424
|
|
|
4425
|
+
/** @param {number=} offset */
|
|
4426
|
+
var doReadv = (stream, iov, iovcnt, offset) => {
|
|
4427
|
+
var ret = 0;
|
|
4428
|
+
for (var i = 0; i < iovcnt; i++) {
|
|
4429
|
+
var ptr = HEAPU32[((iov)>>2)];
|
|
4430
|
+
var len = HEAPU32[(((iov)+(4))>>2)];
|
|
4431
|
+
iov += 8;
|
|
4432
|
+
var curr = FS.read(stream, HEAP8, ptr, len, offset);
|
|
4433
|
+
if (curr < 0) return -1;
|
|
4434
|
+
ret += curr;
|
|
4435
|
+
if (curr < len) break; // nothing more to read
|
|
4436
|
+
if (typeof offset != 'undefined') {
|
|
4437
|
+
offset += curr;
|
|
4438
|
+
}
|
|
4439
|
+
}
|
|
4440
|
+
return ret;
|
|
4441
|
+
};
|
|
4442
|
+
|
|
4443
|
+
function _fd_read(fd, iov, iovcnt, pnum) {
|
|
4444
|
+
try {
|
|
4445
|
+
|
|
4446
|
+
var stream = SYSCALLS.getStreamFromFD(fd);
|
|
4447
|
+
var num = doReadv(stream, iov, iovcnt);
|
|
4448
|
+
HEAPU32[((pnum)>>2)] = num;
|
|
4449
|
+
return 0;
|
|
4450
|
+
} catch (e) {
|
|
4451
|
+
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
|
|
4452
|
+
return e.errno;
|
|
4453
|
+
}
|
|
4454
|
+
}
|
|
4455
|
+
_fd_read.sig = 'iippp';
|
|
4456
|
+
|
|
4403
4457
|
|
|
4404
4458
|
var INT53_MAX = 9007199254740992;
|
|
4405
4459
|
|
|
@@ -4668,6 +4722,8 @@ var wasmImports = {
|
|
|
4668
4722
|
/** @export */
|
|
4669
4723
|
__syscall_newfstatat: ___syscall_newfstatat,
|
|
4670
4724
|
/** @export */
|
|
4725
|
+
__syscall_openat: ___syscall_openat,
|
|
4726
|
+
/** @export */
|
|
4671
4727
|
__syscall_stat64: ___syscall_stat64,
|
|
4672
4728
|
/** @export */
|
|
4673
4729
|
__table_base: ___table_base,
|
|
@@ -4682,6 +4738,8 @@ var wasmImports = {
|
|
|
4682
4738
|
/** @export */
|
|
4683
4739
|
fd_close: _fd_close,
|
|
4684
4740
|
/** @export */
|
|
4741
|
+
fd_read: _fd_read,
|
|
4742
|
+
/** @export */
|
|
4685
4743
|
fd_seek: _fd_seek,
|
|
4686
4744
|
/** @export */
|
|
4687
4745
|
fd_write: _fd_write,
|
|
@@ -4693,28 +4751,26 @@ var wasmImports = {
|
|
|
4693
4751
|
var wasmExports = await createWasm();
|
|
4694
4752
|
var ___wasm_call_ctors = wasmExports['__wasm_call_ctors']
|
|
4695
4753
|
var _wasm_alloc = Module['_wasm_alloc'] = wasmExports['wasm_alloc']
|
|
4696
|
-
var _wasm_ast_json = Module['_wasm_ast_json'] = wasmExports['wasm_ast_json']
|
|
4697
4754
|
var _wasm_clear_all_cflags = Module['_wasm_clear_all_cflags'] = wasmExports['wasm_clear_all_cflags']
|
|
4698
4755
|
var _wasm_clear_cflag = Module['_wasm_clear_cflag'] = wasmExports['wasm_clear_cflag']
|
|
4699
4756
|
var _wasm_clear_dialect = Module['_wasm_clear_dialect'] = wasmExports['wasm_clear_dialect']
|
|
4700
|
-
var
|
|
4701
|
-
var
|
|
4702
|
-
var
|
|
4703
|
-
var _wasm_extract = Module['_wasm_extract'] = wasmExports['wasm_extract']
|
|
4704
|
-
var _wasm_fmt = Module['_wasm_fmt'] = wasmExports['wasm_fmt']
|
|
4757
|
+
var _wasm_embedded_diagnostics = Module['_wasm_embedded_diagnostics'] = wasmExports['wasm_embedded_diagnostics']
|
|
4758
|
+
var _wasm_embedded_extract = Module['_wasm_embedded_extract'] = wasmExports['wasm_embedded_extract']
|
|
4759
|
+
var _wasm_embedded_semantic_tokens = Module['_wasm_embedded_semantic_tokens'] = wasmExports['wasm_embedded_semantic_tokens']
|
|
4705
4760
|
var _wasm_free = Module['_wasm_free'] = wasmExports['wasm_free']
|
|
4706
4761
|
var _wasm_get_cflag_list = Module['_wasm_get_cflag_list'] = wasmExports['wasm_get_cflag_list']
|
|
4762
|
+
var _wasm_lsp_message = Module['_wasm_lsp_message'] = wasmExports['wasm_lsp_message']
|
|
4707
4763
|
var _wasm_result_free = Module['_wasm_result_free'] = wasmExports['wasm_result_free']
|
|
4708
4764
|
var _wasm_result_len = Module['_wasm_result_len'] = wasmExports['wasm_result_len']
|
|
4709
4765
|
var _wasm_result_ptr = Module['_wasm_result_ptr'] = wasmExports['wasm_result_ptr']
|
|
4710
|
-
var
|
|
4766
|
+
var _wasm_rpc = Module['_wasm_rpc'] = wasmExports['wasm_rpc']
|
|
4767
|
+
var _wasm_session_free = Module['_wasm_session_free'] = wasmExports['wasm_session_free']
|
|
4768
|
+
var _wasm_session_new = Module['_wasm_session_new'] = wasmExports['wasm_session_new']
|
|
4711
4769
|
var _wasm_set_cflag = Module['_wasm_set_cflag'] = wasmExports['wasm_set_cflag']
|
|
4712
4770
|
var _wasm_set_dialect = Module['_wasm_set_dialect'] = wasmExports['wasm_set_dialect']
|
|
4713
|
-
var _wasm_set_language_mode = Module['_wasm_set_language_mode'] = wasmExports['wasm_set_language_mode']
|
|
4714
|
-
var _wasm_set_session_context = Module['_wasm_set_session_context'] = wasmExports['wasm_set_session_context']
|
|
4715
|
-
var _wasm_set_session_context_ddl = Module['_wasm_set_session_context_ddl'] = wasmExports['wasm_set_session_context_ddl']
|
|
4716
4771
|
var _wasm_set_sqlite_version = Module['_wasm_set_sqlite_version'] = wasmExports['wasm_set_sqlite_version']
|
|
4717
4772
|
var _main = Module['_main'] = wasmExports['main']
|
|
4773
|
+
var _syntaqlite_analyzer_analyze = Module['_syntaqlite_analyzer_analyze'] = wasmExports['syntaqlite_analyzer_analyze']
|
|
4718
4774
|
var _syntaqlite_formatter_create_sqlite = Module['_syntaqlite_formatter_create_sqlite'] = wasmExports['syntaqlite_formatter_create_sqlite']
|
|
4719
4775
|
var _syntaqlite_formatter_create_sqlite_with_config = Module['_syntaqlite_formatter_create_sqlite_with_config'] = wasmExports['syntaqlite_formatter_create_sqlite_with_config']
|
|
4720
4776
|
var _syntaqlite_formatter_create_with_dialect = Module['_syntaqlite_formatter_create_with_dialect'] = wasmExports['syntaqlite_formatter_create_with_dialect']
|
|
@@ -4723,11 +4779,10 @@ var _syntaqlite_formatter_error_msg = Module['_syntaqlite_formatter_error_msg']
|
|
|
4723
4779
|
var _syntaqlite_formatter_format = Module['_syntaqlite_formatter_format'] = wasmExports['syntaqlite_formatter_format']
|
|
4724
4780
|
var _syntaqlite_formatter_output = Module['_syntaqlite_formatter_output'] = wasmExports['syntaqlite_formatter_output']
|
|
4725
4781
|
var _syntaqlite_formatter_output_len = Module['_syntaqlite_formatter_output_len'] = wasmExports['syntaqlite_formatter_output_len']
|
|
4726
|
-
var
|
|
4727
|
-
var
|
|
4728
|
-
var
|
|
4729
|
-
var
|
|
4730
|
-
var _syntaqlite_analyzer_set_suggestion_threshold = Module['_syntaqlite_analyzer_set_suggestion_threshold'] = wasmExports['syntaqlite_analyzer_set_suggestion_threshold']
|
|
4782
|
+
var _syntaqlite_rpc_call = Module['_syntaqlite_rpc_call'] = wasmExports['syntaqlite_rpc_call']
|
|
4783
|
+
var _syntaqlite_rpc_create_sqlite = Module['_syntaqlite_rpc_create_sqlite'] = wasmExports['syntaqlite_rpc_create_sqlite']
|
|
4784
|
+
var _syntaqlite_rpc_destroy = Module['_syntaqlite_rpc_destroy'] = wasmExports['syntaqlite_rpc_destroy']
|
|
4785
|
+
var _syntaqlite_rpc_free = Module['_syntaqlite_rpc_free'] = wasmExports['syntaqlite_rpc_free']
|
|
4731
4786
|
var _syntaqlite_analyzer_statement_column_lineage = Module['_syntaqlite_analyzer_statement_column_lineage'] = wasmExports['syntaqlite_analyzer_statement_column_lineage']
|
|
4732
4787
|
var _syntaqlite_analyzer_statement_column_lineage_count = Module['_syntaqlite_analyzer_statement_column_lineage_count'] = wasmExports['syntaqlite_analyzer_statement_column_lineage_count']
|
|
4733
4788
|
var _syntaqlite_analyzer_statement_count = Module['_syntaqlite_analyzer_statement_count'] = wasmExports['syntaqlite_analyzer_statement_count']
|
|
@@ -4742,11 +4797,6 @@ var _syntaqlite_analyzer_statement_relations = Module['_syntaqlite_analyzer_stat
|
|
|
4742
4797
|
var _syntaqlite_analyzer_statement_source = Module['_syntaqlite_analyzer_statement_source'] = wasmExports['syntaqlite_analyzer_statement_source']
|
|
4743
4798
|
var _syntaqlite_analyzer_statement_unexpanded_view_count = Module['_syntaqlite_analyzer_statement_unexpanded_view_count'] = wasmExports['syntaqlite_analyzer_statement_unexpanded_view_count']
|
|
4744
4799
|
var _syntaqlite_analyzer_statement_unexpanded_views = Module['_syntaqlite_analyzer_statement_unexpanded_views'] = wasmExports['syntaqlite_analyzer_statement_unexpanded_views']
|
|
4745
|
-
var _syntaqlite_analyzer_create_sqlite = Module['_syntaqlite_analyzer_create_sqlite'] = wasmExports['syntaqlite_analyzer_create_sqlite']
|
|
4746
|
-
var _syntaqlite_analyzer_create_with_dialect = Module['_syntaqlite_analyzer_create_with_dialect'] = wasmExports['syntaqlite_analyzer_create_with_dialect']
|
|
4747
|
-
var _syntaqlite_analyzer_destroy = Module['_syntaqlite_analyzer_destroy'] = wasmExports['syntaqlite_analyzer_destroy']
|
|
4748
|
-
var _syntaqlite_string_destroy = Module['_syntaqlite_string_destroy'] = wasmExports['syntaqlite_string_destroy']
|
|
4749
|
-
var _syntaqlite_analyzer_analyze = Module['_syntaqlite_analyzer_analyze'] = wasmExports['syntaqlite_analyzer_analyze']
|
|
4750
4800
|
var _syntaqlite_analyzer_column_lineage = Module['_syntaqlite_analyzer_column_lineage'] = wasmExports['syntaqlite_analyzer_column_lineage']
|
|
4751
4801
|
var _syntaqlite_analyzer_column_lineage_count = Module['_syntaqlite_analyzer_column_lineage_count'] = wasmExports['syntaqlite_analyzer_column_lineage_count']
|
|
4752
4802
|
var _syntaqlite_analyzer_diagnostic_count = Module['_syntaqlite_analyzer_diagnostic_count'] = wasmExports['syntaqlite_analyzer_diagnostic_count']
|
|
@@ -4759,6 +4809,15 @@ var _syntaqlite_analyzer_relations = Module['_syntaqlite_analyzer_relations'] =
|
|
|
4759
4809
|
var _syntaqlite_analyzer_render_diagnostics = Module['_syntaqlite_analyzer_render_diagnostics'] = wasmExports['syntaqlite_analyzer_render_diagnostics']
|
|
4760
4810
|
var _syntaqlite_analyzer_unexpanded_view_count = Module['_syntaqlite_analyzer_unexpanded_view_count'] = wasmExports['syntaqlite_analyzer_unexpanded_view_count']
|
|
4761
4811
|
var _syntaqlite_analyzer_unexpanded_views = Module['_syntaqlite_analyzer_unexpanded_views'] = wasmExports['syntaqlite_analyzer_unexpanded_views']
|
|
4812
|
+
var _syntaqlite_analyzer_create_sqlite = Module['_syntaqlite_analyzer_create_sqlite'] = wasmExports['syntaqlite_analyzer_create_sqlite']
|
|
4813
|
+
var _syntaqlite_analyzer_create_with_dialect = Module['_syntaqlite_analyzer_create_with_dialect'] = wasmExports['syntaqlite_analyzer_create_with_dialect']
|
|
4814
|
+
var _syntaqlite_analyzer_destroy = Module['_syntaqlite_analyzer_destroy'] = wasmExports['syntaqlite_analyzer_destroy']
|
|
4815
|
+
var _syntaqlite_analyzer_set_check_level = Module['_syntaqlite_analyzer_set_check_level'] = wasmExports['syntaqlite_analyzer_set_check_level']
|
|
4816
|
+
var _syntaqlite_analyzer_set_mode = Module['_syntaqlite_analyzer_set_mode'] = wasmExports['syntaqlite_analyzer_set_mode']
|
|
4817
|
+
var _syntaqlite_analyzer_set_module_resolver = Module['_syntaqlite_analyzer_set_module_resolver'] = wasmExports['syntaqlite_analyzer_set_module_resolver']
|
|
4818
|
+
var _syntaqlite_analyzer_set_strict_schema = Module['_syntaqlite_analyzer_set_strict_schema'] = wasmExports['syntaqlite_analyzer_set_strict_schema']
|
|
4819
|
+
var _syntaqlite_analyzer_set_suggestion_threshold = Module['_syntaqlite_analyzer_set_suggestion_threshold'] = wasmExports['syntaqlite_analyzer_set_suggestion_threshold']
|
|
4820
|
+
var _syntaqlite_string_destroy = Module['_syntaqlite_string_destroy'] = wasmExports['syntaqlite_string_destroy']
|
|
4762
4821
|
var _syntaqlite_analyzer_add_function_overload = Module['_syntaqlite_analyzer_add_function_overload'] = wasmExports['syntaqlite_analyzer_add_function_overload']
|
|
4763
4822
|
var _syntaqlite_analyzer_add_table_function = Module['_syntaqlite_analyzer_add_table_function'] = wasmExports['syntaqlite_analyzer_add_table_function']
|
|
4764
4823
|
var _syntaqlite_analyzer_add_tables = Module['_syntaqlite_analyzer_add_tables'] = wasmExports['syntaqlite_analyzer_add_tables']
|
|
@@ -4768,6 +4827,7 @@ var _syntaqlite_analyzer_reset_catalog = Module['_syntaqlite_analyzer_reset_cata
|
|
|
4768
4827
|
var _malloc = wasmExports['malloc']
|
|
4769
4828
|
var _synq_extent_on_shift = Module['_synq_extent_on_shift'] = wasmExports['synq_extent_on_shift']
|
|
4770
4829
|
var _synq_extent_on_reduce = Module['_synq_extent_on_reduce'] = wasmExports['synq_extent_on_reduce']
|
|
4830
|
+
var _synq_extent_fold_below_into_top = Module['_synq_extent_fold_below_into_top'] = wasmExports['synq_extent_fold_below_into_top']
|
|
4771
4831
|
var _calloc = wasmExports['calloc']
|
|
4772
4832
|
var ___dl_seterr = wasmExports['__dl_seterr']
|
|
4773
4833
|
var __emscripten_find_dylib = wasmExports['_emscripten_find_dylib']
|
|
Binary file
|
|
Binary file
|