feature: added array list marshalling
parent
e6ee7860b3
commit
a26b61975d
|
@ -0,0 +1,20 @@
|
|||
package array_list
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
func (a *ArrayList[T]) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(a.content[:a.size])
|
||||
}
|
||||
|
||||
func (a *ArrayList[T]) UnmarshalJSON(data []byte) error {
|
||||
var content []T
|
||||
if err := json.Unmarshal(data, &content); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
a.content = content
|
||||
a.size = len(content)
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package array_list
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
func (a *ArrayList[T]) MarshalXML() ([]byte, error) {
|
||||
return json.Marshal(a.content[:a.size])
|
||||
}
|
||||
|
||||
func (a *ArrayList[T]) UnmarshalXML(data []byte) error {
|
||||
var content []T
|
||||
if err := json.Unmarshal(data, &content); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
a.content = content
|
||||
a.size = len(content)
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package array_list
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
func (a *ArrayList[T]) MarshalYAML() ([]byte, error) {
|
||||
return json.Marshal(a.content[:a.size])
|
||||
}
|
||||
|
||||
func (a *ArrayList[T]) UnmarshalYAML(data []byte) error {
|
||||
var content []T
|
||||
if err := json.Unmarshal(data, &content); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
a.content = content
|
||||
a.size = len(content)
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue