1 package javascript_test 2 3 import ( 4 "fmt" 5 6 "vimagination.zapto.org/javascript" 7 "vimagination.zapto.org/parser" 8 ) 9 10 func Example() { 11 src := `function greet(name) {console.log("Hello, " + name)} for (const name of ["Alice", "Bob", "Charlie"]) greet(name)` 12 13 tk := parser.NewStringTokeniser(src) 14 15 ast, err := javascript.ParseModule(&tk) 16 if err != nil { 17 fmt.Println(err) 18 19 return 20 } 21 22 javascript.UnwrapConditional(javascript.WrapConditional(javascript.UnwrapConditional(javascript.UnwrapConditional(ast.ModuleListItems[0].StatementListItem.Declaration.FunctionDeclaration.FunctionBody.StatementList[0].Statement.ExpressionStatement.Expressions[0].ConditionalExpression).(*javascript.CallExpression).Arguments.ArgumentList[0].AssignmentExpression.ConditionalExpression).(*javascript.AdditiveExpression).AdditiveExpression)).(*javascript.PrimaryExpression).Literal.Data = `"Hi, "` 23 24 fmt.Printf("%s", ast) 25 26 // Output: 27 // function greet(name) { 28 // console.log("Hi, " + name); 29 // } 30 // 31 // for (const name of ["Alice", "Bob", "Charlie"]) greet(name); 32 } 33