in cmd/wasm/main.go [57:87]
func compileAndFormat(dst io.Writer, src string) error {
xmlHelper, err := lib.XML(nil, nil)
if err != nil {
return fmt.Errorf("failed to initialize xml helper: %w", err)
}
env, err := cel.NewEnv(
cel.Declarations(decls.NewVar("state", decls.Dyn)),
lib.Collections(),
lib.Crypto(),
lib.JSON(nil),
lib.Time(),
lib.Try(),
lib.Debug(func(_ string, _ any) {}),
lib.File(nil),
lib.MIME(nil),
lib.HTTP(nil, nil, nil),
lib.Limit(nil),
lib.Strings(),
xmlHelper,
cel.OptionalTypes(cel.OptionalTypesVersion(1)),
cel.EnableMacroCallTracking(),
)
if err != nil {
return fmt.Errorf("failed to create env: %w", err)
}
ast, iss := env.Compile(src)
if iss != nil {
return fmt.Errorf("failed to parse program: %v", iss)
}
return celfmt.Format(dst, ast.NativeRep(), common.NewTextSource(src), celfmt.Pretty(), celfmt.AlwaysComma())
}