Added custom encoding/decoding
This commit is contained in:
parent
bb3a571b01
commit
8b3914eba5
@ -1,7 +1,6 @@
|
||||
package ocean
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
@ -168,7 +167,7 @@ func (c *collection[T]) loadFileFromDisk(fileName string) error {
|
||||
}
|
||||
|
||||
value := new(T)
|
||||
decoder := json.NewDecoder(file)
|
||||
decoder := NewDecoder(file)
|
||||
err = decoder.Decode(value)
|
||||
|
||||
if err != nil {
|
||||
@ -190,7 +189,7 @@ func (c *collection[T]) writeFileToDisk(key string, value *T) error {
|
||||
return err
|
||||
}
|
||||
|
||||
encoder := json.NewEncoder(file)
|
||||
encoder := NewEncoder(file)
|
||||
err = encoder.Encode(value)
|
||||
|
||||
if err != nil {
|
||||
|
12
Decoder.go
Normal file
12
Decoder.go
Normal file
@ -0,0 +1,12 @@
|
||||
package ocean
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
)
|
||||
|
||||
var NewDecoder = func(r io.Reader) Decoder { return json.NewDecoder(r) }
|
||||
|
||||
type Decoder interface {
|
||||
Decode(any) error
|
||||
}
|
12
Encoder.go
Normal file
12
Encoder.go
Normal file
@ -0,0 +1,12 @@
|
||||
package ocean
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
)
|
||||
|
||||
var NewEncoder = func(w io.Writer) Encoder { return json.NewEncoder(w) }
|
||||
|
||||
type Encoder interface {
|
||||
Encode(any) error
|
||||
}
|
Loading…
Reference in New Issue
Block a user