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