github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/text/template/exec.go (about)

     1  // Copyright 2011 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package template
     6  
     7  import (
     8  	"github.com/shogo82148/std/io"
     9  )
    10  
    11  // ExecErrorは、Executeがテンプレートを評価する際にエラーが発生したときに返される
    12  // カスタムエラータイプです。(書き込みエラーが発生した場合、実際のエラーが返されます。
    13  // それはExecErrorタイプではありません。)
    14  type ExecError struct {
    15  	Name string
    16  	Err  error
    17  }
    18  
    19  func (e ExecError) Error() string
    20  
    21  func (e ExecError) Unwrap() error
    22  
    23  // ExecuteTemplateは、指定された名前を持つtに関連付けられたテンプレートを
    24  // 指定されたデータオブジェクトに適用し、出力をwrに書き込みます。
    25  // テンプレートの実行中またはその出力の書き込み中にエラーが発生した場合、
    26  // 実行は停止しますが、部分的な結果がすでに出力ライターに書き込まれている可能性があります。
    27  // テンプレートは並行して安全に実行することができますが、並行実行がライターを共有する場合、
    28  // 出力が交互になる可能性があります。
    29  func (t *Template) ExecuteTemplate(wr io.Writer, name string, data any) error
    30  
    31  // Executeは、解析されたテンプレートを指定されたデータオブジェクトに適用し、
    32  // 出力をwrに書き込みます。
    33  // テンプレートの実行中またはその出力の書き込み中にエラーが発生した場合、
    34  // 実行は停止しますが、部分的な結果がすでに出力ライターに書き込まれている可能性があります。
    35  // テンプレートは並行して安全に実行することができますが、並行実行がライターを共有する場合、
    36  // 出力が交互になる可能性があります。
    37  //
    38  // dataが [reflect.Value] の場合、テンプレートはreflect.Valueが保持する具体的な
    39  // 値に適用されます。これは [fmt.Print] と同様です。
    40  func (t *Template) Execute(wr io.Writer, data any) error
    41  
    42  // DefinedTemplatesは、定義されたテンプレートのリストを文字列として返します。
    43  // これは文字列 "; defined templates are: " で始まります。もし定義されたテンプレートがなければ、
    44  // 空の文字列を返します。ここと [html/template] でエラーメッセージを生成するために使用されます。
    45  func (t *Template) DefinedTemplates() string
    46  
    47  // IsTrueは、値がその型のゼロでない「真」であるか、
    48  // および値が意味のある真理値を持っているかどうかを報告します。
    49  // これはifやその他のそのようなアクションで使用される真理の定義です。
    50  func IsTrue(val any) (truth, ok bool)