Source File
export.go
Belonging Package
encoding/json/jsontext
// Copyright 2023 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.//go:build goexperiment.jsonv2package jsontextimport ()// Internal is for internal use only.// This is exempt from the Go compatibility agreement.var Internal exportertype exporter struct{}// Export exposes internal functionality from "jsontext" to "json".// This cannot be dynamically called by other packages since// they cannot obtain a reference to the internal.AllowInternalUse value.func (exporter) ( *internal.NotForPublicUse) export {if != &internal.AllowInternalUse {panic("unauthorized call to Export")}return export{}}// The export type exposes functionality to packages with visibility to// the internal.AllowInternalUse variable. The "json" package uses this// to modify low-level state in the Encoder and Decoder types.// It mutates the state directly instead of calling ReadToken or WriteToken// since this is more performant. The public APIs need to track state to ensure// that users are constructing a valid JSON value, but the "json" implementation// guarantees that it emits valid JSON by the structure of the code itself.type export struct{}// Encoder returns a pointer to the underlying encoderState.func (export) ( *Encoder) *encoderState { return &.s }// Decoder returns a pointer to the underlying decoderState.func (export) ( *Decoder) *decoderState { return &.s }func (export) ( ...Options) *Encoder {return getBufferedEncoder(...)}func (export) ( *Encoder) {putBufferedEncoder()}func (export) ( io.Writer, ...Options) *Encoder {return getStreamingEncoder(, ...)}func (export) ( *Encoder) {putStreamingEncoder()}func (export) ( []byte, ...Options) *Decoder {return getBufferedDecoder(, ...)}func (export) ( *Decoder) {putBufferedDecoder()}func (export) ( io.Reader, ...Options) *Decoder {return getStreamingDecoder(, ...)}func (export) ( *Decoder) {putStreamingDecoder()}func (export) ( error) bool {, := .(*ioError)return}
![]() |
The pages are generated with Golds v0.7.9-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |