@@ -6,19 +6,14 @@ package json
6
6
7
7
import "bytes"
8
8
9
- // TODO(https://go.dev/issue/53685): Use bytes.Buffer.AvailableBuffer instead.
10
- func availableBuffer (b * bytes.Buffer ) []byte {
11
- return b .Bytes ()[b .Len ():]
12
- }
13
-
14
9
// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029
15
10
// characters inside string literals changed to \u003c, \u003e, \u0026, \u2028, \u2029
16
11
// so that the JSON will be safe to embed inside HTML <script> tags.
17
12
// For historical reasons, web browsers don't honor standard HTML
18
13
// escaping within <script> tags, so an alternative JSON encoding must be used.
19
14
func HTMLEscape (dst * bytes.Buffer , src []byte ) {
20
15
dst .Grow (len (src ))
21
- dst .Write (appendHTMLEscape (availableBuffer ( dst ), src ))
16
+ dst .Write (appendHTMLEscape (dst . AvailableBuffer ( ), src ))
22
17
}
23
18
24
19
func appendHTMLEscape (dst , src []byte ) []byte {
@@ -45,7 +40,7 @@ func appendHTMLEscape(dst, src []byte) []byte {
45
40
// insignificant space characters elided.
46
41
func Compact (dst * bytes.Buffer , src []byte ) error {
47
42
dst .Grow (len (src ))
48
- b := availableBuffer ( dst )
43
+ b := dst . AvailableBuffer ( )
49
44
b , err := appendCompact (b , src , false )
50
45
dst .Write (b )
51
46
return err
@@ -114,7 +109,7 @@ const indentGrowthFactor = 2
114
109
// if src ends in a trailing newline, so will dst.
115
110
func Indent (dst * bytes.Buffer , src []byte , prefix , indent string ) error {
116
111
dst .Grow (indentGrowthFactor * len (src ))
117
- b := availableBuffer ( dst )
112
+ b := dst . AvailableBuffer ( )
118
113
b , err := appendIndent (b , src , prefix , indent )
119
114
dst .Write (b )
120
115
return err
0 commit comments