diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 41b85f2928..09975e19ed 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -7320,6 +7320,7 @@ version = "1.144.4" dependencies = [ "anyhow", "convert_case 0.6.0", + "regex", "serde-wasm-bindgen", "serde_json", "swc_common", diff --git a/backend/parsers/windmill-parser-ts/Cargo.toml b/backend/parsers/windmill-parser-ts/Cargo.toml index 122bef7fb9..12aa671b91 100644 --- a/backend/parsers/windmill-parser-ts/Cargo.toml +++ b/backend/parsers/windmill-parser-ts/Cargo.toml @@ -20,4 +20,5 @@ swc_ecma_parser.workspace = true swc_ecma_ast.workspace = true serde_json.workspace = true anyhow.workspace = true -convert_case.workspace = true \ No newline at end of file +convert_case.workspace = true +regex.workspace = true \ No newline at end of file diff --git a/backend/parsers/windmill-parser-ts/src/lib.rs b/backend/parsers/windmill-parser-ts/src/lib.rs index 69537a7b80..d321b6b318 100644 --- a/backend/parsers/windmill-parser-ts/src/lib.rs +++ b/backend/parsers/windmill-parser-ts/src/lib.rs @@ -1,4 +1,5 @@ use convert_case::{Case, Casing}; +use regex::Regex; /* * Author: Ruben Fiszel * Copyright: Windmill Labs, Inc 2022 @@ -151,6 +152,14 @@ fn binding_ident_to_arg(BindingIdent { id, type_ann }: &BindingIdent) -> (String (id.sym.to_string(), typ, nullable) } +fn to_snake_case(s: &str) -> String { + let r = s.to_case(Case::Snake); + + // s_3 => s3 + let re = Regex::new(r"_(\d)").unwrap(); + re.replace_all(&r, "$1").to_string() +} + fn tstype_to_typ(ts_type: &TsType) -> (Typ, bool) { // log(&format!("{:?}", ts_type)); match ts_type { @@ -262,7 +271,7 @@ fn tstype_to_typ(ts_type: &TsType) -> (Typ, bool) { "Base64" => (Typ::Bytes, false), "Email" => (Typ::Email, false), "Sql" => (Typ::Sql, false), - x @ _ => (Typ::Resource(x.to_case(Case::Snake)), false), + x @ _ => (Typ::Resource(to_snake_case(x)), false), } } _ => (Typ::Unknown, false), diff --git a/backend/parsers/windmill-parser-wasm/pkg/package.json b/backend/parsers/windmill-parser-wasm/pkg/package.json index 23655f63e1..e685252009 100644 --- a/backend/parsers/windmill-parser-wasm/pkg/package.json +++ b/backend/parsers/windmill-parser-wasm/pkg/package.json @@ -3,7 +3,7 @@ "collaborators": [ "Ruben Fiszel " ], - "version": "1.143.0", + "version": "1.144.4", "files": [ "windmill_parser_wasm_bg.wasm", "windmill_parser_wasm.js", diff --git a/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm.js b/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm.js index a215a2ba9e..7cab0cf204 100644 --- a/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm.js +++ b/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm.js @@ -6,20 +6,6 @@ heap.push(undefined, null, true, false); function getObject(idx) { return heap[idx]; } -let heap_next = heap.length; - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - let WASM_VECTOR_LEN = 0; let cachedUint8Memory0 = null; @@ -97,6 +83,20 @@ function getInt32Memory0() { return cachedInt32Memory0; } +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + function addHeapObject(obj) { if (heap_next === heap.length) heap.push(heap.length + 1); const idx = heap_next; @@ -469,13 +469,6 @@ async function __wbg_load(module, imports) { function __wbg_get_imports() { const imports = {}; imports.wbg = {}; - imports.wbg.__wbg_eval_44bde4e76596166e = function(arg0, arg1) { - const ret = eval(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); - }; imports.wbg.__wbindgen_string_get = function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof(obj) === 'string' ? obj : undefined; @@ -484,6 +477,13 @@ function __wbg_get_imports() { getInt32Memory0()[arg0 / 4 + 1] = len1; getInt32Memory0()[arg0 / 4 + 0] = ptr1; }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbg_eval_fc6855b8339aec25 = function(arg0, arg1) { + const ret = eval(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; imports.wbg.__wbindgen_boolean_get = function(arg0) { const v = getObject(arg0); const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; diff --git a/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm_bg.wasm b/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm_bg.wasm index ca21939b6c..f50512a637 100644 Binary files a/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm_bg.wasm and b/backend/parsers/windmill-parser-wasm/pkg/windmill_parser_wasm_bg.wasm differ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 769dce76d0..18ffd8d557 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -43,7 +43,7 @@ "svelte-timezone-picker": "^2.0.3", "tailwind-merge": "^1.13.2", "vscode-ws-jsonrpc": "3.0.0", - "windmill-parser-wasm": "^1.143.0", + "windmill-parser-wasm": "^1.144.4", "y-monaco": "^0.1.4", "y-websocket": "^1.5.0", "yjs": "^13.6.7" @@ -9811,9 +9811,9 @@ } }, "node_modules/windmill-parser-wasm": { - "version": "1.143.0", - "resolved": "https://registry.npmjs.org/windmill-parser-wasm/-/windmill-parser-wasm-1.143.0.tgz", - "integrity": "sha512-sxkolDrUX/ywrE3tZpA3f9B4BONpW7PaHq+5qJBreCBHVkGnAx8iyXgyEvZhIpcTmuNhCy/osumoK/CjxGWWDw==" + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/windmill-parser-wasm/-/windmill-parser-wasm-1.144.4.tgz", + "integrity": "sha512-8Lx7kcZIEsnlXUr/vzkWJfjXP8MrJIocNVUwwDCATyRx1A9kZ3fSj2K1S+ObhAvc5YyE7v0kgS65h+ybm4eRoA==" }, "node_modules/wordwrap": { "version": "1.0.0", @@ -16782,9 +16782,9 @@ } }, "windmill-parser-wasm": { - "version": "1.143.0", - "resolved": "https://registry.npmjs.org/windmill-parser-wasm/-/windmill-parser-wasm-1.143.0.tgz", - "integrity": "sha512-sxkolDrUX/ywrE3tZpA3f9B4BONpW7PaHq+5qJBreCBHVkGnAx8iyXgyEvZhIpcTmuNhCy/osumoK/CjxGWWDw==" + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/windmill-parser-wasm/-/windmill-parser-wasm-1.144.4.tgz", + "integrity": "sha512-8Lx7kcZIEsnlXUr/vzkWJfjXP8MrJIocNVUwwDCATyRx1A9kZ3fSj2K1S+ObhAvc5YyE7v0kgS65h+ybm4eRoA==" }, "wordwrap": { "version": "1.0.0", diff --git a/frontend/package.json b/frontend/package.json index 84a6a9ebb0..46ba7c6314 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -107,7 +107,7 @@ "svelte-timezone-picker": "^2.0.3", "tailwind-merge": "^1.13.2", "vscode-ws-jsonrpc": "3.0.0", - "windmill-parser-wasm": "^1.143.0", + "windmill-parser-wasm": "^1.144.4", "y-monaco": "^0.1.4", "y-websocket": "^1.5.0", "yjs": "^13.6.7"