vendor tsgo

This commit is contained in:
2026-07-09 16:50:43 -04:00
parent c06ea2e5a4
commit 98978e4930
5804 changed files with 1556156 additions and 101 deletions

View File

@@ -0,0 +1,28 @@
package transformers
import (
"github.com/microsoft/typescript-go/internal/ast"
"github.com/microsoft/typescript-go/internal/printer"
)
type modifierVisitor struct {
Transformer
AllowedModifiers ast.ModifierFlags
}
func (v *modifierVisitor) visit(node *ast.Node) *ast.Node {
flags := ast.ModifierToFlag(node.Kind)
if flags != ast.ModifierFlagsNone && flags&v.AllowedModifiers == 0 {
return nil
}
return node
}
func ExtractModifiers(emitContext *printer.EmitContext, modifiers *ast.ModifierList, allowed ast.ModifierFlags) *ast.ModifierList {
if modifiers == nil {
return nil
}
tx := modifierVisitor{AllowedModifiers: allowed}
tx.NewTransformer(tx.visit, emitContext)
return tx.visitor.VisitModifiers(modifiers)
}