code: func (cfg Config) Froze() API {
  	api := &frozenConfig{
  		sortMapKeys:                   cfg.SortMapKeys,
  		indentionStep:                 cfg.IndentionStep,
  		objectFieldMustBeSimpleString: cfg.ObjectFieldMustBeSimpleString,
  		onlyTaggedField:               cfg.OnlyTaggedField,
  		disallowUnknownFields:         cfg.DisallowUnknownFields,
  		caseSensitive:                 cfg.CaseSensitive,
  	}
  	api.streamPool = &sync.Pool{
  		New: func() interface{} {
  			return NewStream(api, nil, 512)
  		},
  	}
  	api.iteratorPool = &sync.Pool{
  		New: func() interface{} {
  			return NewIterator(api)
  		},
  	}
  	api.initCache()
  	encoderExtension := EncoderExtension{}
  	decoderExtension := DecoderExtension{}
  	if cfg.MarshalFloatWith6Digits {
  		api.marshalFloatWith6Digits(encoderExtension)
  	}
  	if cfg.EscapeHTML {
  		api.escapeHTML(encoderExtension)
  	}
  	if cfg.UseNumber {
  		api.useNumber(decoderExtension)
  	}
  	if cfg.ValidateJsonRawMessage {
  		api.validateJsonRawMessage(encoderExtension)
  	}
  	api.encoderExtension = encoderExtension
  	api.decoderExtension = decoderExtension
  	api.configBeforeFrozen = cfg
  	return api
  }
docs: // Froze forge API from config