From 30e95361a083dfc327a80d29c45f3c22e0162c55 Mon Sep 17 00:00:00 2001 From: Aleksandr Kirsanov Date: Fri, 14 Jun 2024 15:19:10 +0300 Subject: [PATCH] FunC v0.5.0 logic and dependencies updates * tree-sitter-func.wasm copied from vscode with v0.5.0 support * getterParser modified to support `get` keyword * updated sdk dep * added v0.5.0 dep from func-js-bin --- package.json | 4 +++- public/tree-sitter-func.wasm | Bin 61485 -> 73186 bytes src/lib/getter/getterParser.ts | 39 ++++++++++++++++----------------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 88f10dd..a4f3416 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@orbs-network/ton-access": "^2.3.3", "@tact-lang/compiler": "^1.1.2", "@tanstack/react-query": "^4.13.0", - "@ton-community/contract-verifier-sdk": "1.3.1", + "@ton-community/contract-verifier-sdk": "1.3.2", "@ton-community/func-js": "^0.3.0", "@tonconnect/ui-react": "^1.0.0-beta.6", "bigint-buffer": "^1.1.5", @@ -35,6 +35,8 @@ "func-js-bin-0.4.2": "npm:@ton-community/func-js-bin@^0.4.2", "func-js-bin-0.4.3": "npm:@ton-community/func-js-bin@^0.4.3", "func-js-bin-0.4.4": "npm:@ton-community/func-js-bin@^0.4.4", + "func-js-bin-0.5.0": "npm:@ton-community/func-js-bin@^0.5.0", + "highlight.js": "^11.6.0", "immer": "^9.0.17", "javascript-time-ago": "^2.5.7", "jszip": "^3.10.1", diff --git a/public/tree-sitter-func.wasm b/public/tree-sitter-func.wasm index 71370de01f552244994350043b036711389803a0..c00f6bb6bfdf98cf5c31108901eeafa0ec62e899 100755 GIT binary patch literal 73186 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 diff --git a/src/lib/getter/getterParser.ts b/src/lib/getter/getterParser.ts index 34d6f03..241e2f5 100644 --- a/src/lib/getter/getterParser.ts +++ b/src/lib/getter/getterParser.ts @@ -48,29 +48,28 @@ export async function parseGetters(code: string): Promise { const getters = parsed.rootNode.children.filter( (c) => - c.type === "function_definition" && - c.children.find((n) => n.type === "specifiers_list")?.text.includes("method_id"), + c.type === "function_definition" && ( + // v0.4.x: `method_id` specifier + c.children.find((n) => n.type === "specifiers_list")?.text.includes("method_id") || + // since v0.5.0: `get` on the left + c.children.find((n) => n.type === "pre_specifiers_list")?.text.includes("get") + ), ); - const gettersParsed = getters.map((f) => { - const returnTypes = f.children[0].children - .filter((c) => !c.type.match(/[,()]/)) // TODO types are slice, primitive_type, ",", "(", ")" - .map((c) => c.text); - - const name = f.children.find((n) => n.type === "function_name")!.text; - - const parameters = f.children - .find((n) => n.type === "parameter_list")! - .children.filter((c) => c.type === "parameter_declaration") - .map((c) => ({ - type: c.child(0)!.text, - name: c.child(1)!.text, - })); - + const gettersParsed = getters.map((f: Parser.SyntaxNode) => { return { - returnTypes, - name, - parameters, + returnTypes: f + .childForFieldName("return_type")! + .children.filter((c) => !c.type.match(/[,()]/)) // TODO types are slice, primitive_type, ",", "(", ")" + .map((c) => c.text), + name: f.childForFieldName("name")!.text, + parameters: f + .childForFieldName("arguments")! + .children.filter((c) => c.type === "parameter_declaration") + .map((c) => ({ + type: c.child(0)!.text, + name: c.child(1)!.text, + })), }; });